examples: disable the message on the server example, measure the notify latency on the client example

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
This commit is contained in:
Felix Fietkau 2012-12-15 16:52:03 +01:00
parent 3642af8097
commit bb856ad8a9
2 changed files with 14 additions and 1 deletions

View file

@ -11,6 +11,7 @@
* GNU General Public License for more details.
*/
#include <sys/time.h>
#include <unistd.h>
#include "libubus.h"
@ -31,14 +32,24 @@ static void test_client_notify_cb(struct uloop_timeout *timeout)
{
static int counter = 0;
int err;
struct timeval tv1, tv2;
int max = 1000;
long delta;
int i = 0;
blob_buf_init(&b, 0);
blobmsg_add_u32(&b, "counter", counter++);
err = ubus_notify(ctx, &test_client_object, "ping", b.head, 1000);
gettimeofday(&tv1, NULL);
for (i = 0; i < max; i++)
err = ubus_notify(ctx, &test_client_object, "ping", b.head, 1000);
gettimeofday(&tv2, NULL);
if (err)
fprintf(stderr, "Notify failed: %s\n", ubus_strerror(err));
delta = (tv2.tv_sec - tv1.tv_sec) * 1000000 + (tv2.tv_usec - tv1.tv_usec);
fprintf(stderr, "Avg time per iteration: %ld usec\n", delta / max);
uloop_timeout_set(timeout, 1000);
}

View file

@ -94,11 +94,13 @@ test_notify(struct ubus_context *ctx, struct ubus_object *obj,
struct ubus_request_data *req, const char *method,
struct blob_attr *msg)
{
#if 0
char *str;
str = blobmsg_format_json(msg, true);
fprintf(stderr, "Received notification '%s': %s\n", method, str);
free(str);
#endif
return 0;
}