Example #1
0
int dslink_ws_send_obj(wslay_event_context_ptr ctx, json_t *obj) {
    char *data = json_dumps(obj, JSON_PRESERVE_ORDER);
    if (!data) {
        return DSLINK_ALLOC_ERR;
    }
    dslink_ws_send(ctx, data);
    free(data);
    return 0;
}
Example #2
0
int dslink_ws_send_obj(wslay_event_context_ptr ctx, json_t *obj) {
    DSLink *link = ctx->user_data;
    uint32_t msg = dslink_incr_msg(link);

    json_t *jsonMsg = json_integer(msg);
    json_object_set(obj, "msg", jsonMsg);

    char *data = json_dumps(obj, JSON_PRESERVE_ORDER);
    if (!data) {
        return DSLINK_ALLOC_ERR;
    }

    dslink_ws_send(ctx, data);
    dslink_free(data);

    json_object_del(obj, "msg");
    json_delete(jsonMsg);

    return 0;
}
Example #3
0
static
void ping_handler(void *data, EventLoop *loop) {
    DSLink *link = data;
    dslink_ws_send(link->_ws, "{}");
    dslink_event_loop_schedd(loop, ping_handler, link, 30000);
}