您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ zlist_size函数代码示例

51自学网 2021-06-03 12:00:37
  C++
这篇教程C++ zlist_size函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中zlist_size函数的典型用法代码示例。如果您正苦于以下问题:C++ zlist_size函数的具体用法?C++ zlist_size怎么用?C++ zlist_size使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了zlist_size函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: zdir_remove

voidzdir_remove (zdir_t *self, bool force){    //  If forced, remove all subdirectories and files    if (force) {        zfile_t *file = (zfile_t *) zlist_pop (self->files);        while (file) {            zfile_remove (file);            zfile_destroy (&file);            file = (zfile_t *) zlist_pop (self->files);        }        zdir_t *subdir = (zdir_t *) zlist_pop (self->subdirs);        while (subdir) {            zdir_remove (subdir, force);            zdir_destroy (&subdir);            subdir = (zdir_t *) zlist_pop (self->subdirs);        }        self->cursize = 0;        self->count = 0;    }    //  Remove if empty    if (zlist_size (self->files) == 0    &&  zlist_size (self->subdirs) == 0)        zsys_dir_delete (self->path);}
开发者ID:diorcety,项目名称:czmq,代码行数:25,


示例2: zmsg_send

intzmsg_send (zmsg_t **self_p, void *dest){    assert (self_p);    assert (dest);    zmsg_t *self = *self_p;    int rc = 0;    void *handle = zsock_resolve (dest);    if (self) {        assert (zmsg_is (self));        if (zlist_size (self->frames) == 0)            return -1;          //  Sending an empty message is an error                zframe_t *frame = (zframe_t *) zlist_pop (self->frames);        while (frame) {            rc = zframe_send (&frame, handle,                zlist_size (self->frames)? ZFRAME_MORE: 0);            if (rc != 0)                break;            frame = (zframe_t *) zlist_pop (self->frames);        }        zmsg_destroy (self_p);    }    return rc;}
开发者ID:HunterChen,项目名称:czmq,代码行数:26,


示例3: zpoller_remove

intzpoller_remove (zpoller_t *self, void *reader){    assert (self);    assert (reader);    int rc = 0;#ifdef ZMQ_HAVE_POLLER    void *socket = zsock_resolve (reader);    if (socket)        rc = zmq_poller_remove (self->zmq_poller, socket);    else        rc = zmq_poller_remove_fd (self->zmq_poller, *(SOCKET *) reader);#else    size_t num_readers_before = zlist_size (self->reader_list);    zlist_remove (self->reader_list, reader); // won't fail with non-existent reader    size_t num_readers_after = zlist_size (self->reader_list);    if (num_readers_before != num_readers_after)        self->need_rebuild = true;    else {        errno = EINVAL;        rc    = -1;    }#endif    return rc;}
开发者ID:evoskuil,项目名称:czmq,代码行数:25,


示例4: s_engine_destroy

static voids_engine_destroy (engine_t **self_p){    assert (self_p);    if (*self_p) {        engine_t *self = *self_p;        mdp_worker_destroy (&self->worker);        //  Destroy remaining sell orders        while (zlist_size (self->sell_orders) > 0) {            order_t *order = (order_t *) zlist_pop (self->sell_orders);            s_order_destroy(&order);        }        zlist_destroy (&self->sell_orders);        //  Destroy remaining buy orders        while (zlist_size (self->buy_orders) > 0) {            order_t *order = (order_t *) zlist_pop (self->buy_orders);            s_order_destroy(&order);        }        zlist_destroy (&self->buy_orders);        free (self);        *self_p = NULL;    }}
开发者ID:lerwys,项目名称:majordomo,代码行数:26,


示例5: zloop_destroy

voidzloop_destroy (zloop_t **self_p){    assert (self_p);    if (*self_p) {        zloop_t *self = *self_p;        //  Destroy list of readers        while (zlist_size (self->readers))            free (zlist_pop (self->readers));        zlist_destroy (&self->readers);        //  Destroy list of pollers        while (zlist_size (self->pollers))            free (zlist_pop (self->pollers));        zlist_destroy (&self->pollers);        //  Destroy list of timers        while (zlist_size (self->timers))            free (zlist_pop (self->timers));        zlist_destroy (&self->timers);        //  Destroy zombie timer list        //  Which must always be empty here        assert (zlist_size (self->zombies) == 0);        zlist_destroy (&self->zombies);        free (self->pollset);        free (self->readact);        free (self->pollact);        free (self);        *self_p = NULL;    }}
开发者ID:TomorrowToday,项目名称:czmq,代码行数:34,


示例6: main

int main (void){    zctx_t *ctx = zctx_new ();    void *frontend = zsocket_new (ctx, ZMQ_ROUTER);    void *backend = zsocket_new (ctx, ZMQ_ROUTER);    zsocket_bind (frontend, "tcp://*:5555");    //  For clients    zsocket_bind (backend,  "tcp://*:5556");    //  For workers    //  Queue of available workers    zlist_t *workers = zlist_new ();        //  The body of this example is exactly the same as lruqueue2.    //  .skip    while (1) {        zmq_pollitem_t items [] = {            { backend,  0, ZMQ_POLLIN, 0 },            { frontend, 0, ZMQ_POLLIN, 0 }        };        //  Poll frontend only if we have available workers        int rc = zmq_poll (items, zlist_size (workers)? 2: 1, -1);        if (rc == -1)            break;              //  Interrupted        //  Handle worker activity on backend        if (items [0].revents & ZMQ_POLLIN) {            //  Use worker address for LRU routing            zmsg_t *msg = zmsg_recv (backend);            if (!msg)                break;          //  Interrupted            zframe_t *address = zmsg_unwrap (msg);            zlist_append (workers, address);            //  Forward message to client if it's not a READY            zframe_t *frame = zmsg_first (msg);            if (memcmp (zframe_data (frame), LRU_READY, 1) == 0)                zmsg_destroy (&msg);            else                zmsg_send (&msg, frontend);        }        if (items [1].revents & ZMQ_POLLIN) {            //  Get client request, route to first available worker            zmsg_t *msg = zmsg_recv (frontend);            if (msg) {                zmsg_wrap (msg, (zframe_t *) zlist_pop (workers));                zmsg_send (&msg, backend);            }        }    }    //  When we're done, clean up properly    while (zlist_size (workers)) {        zframe_t *frame = (zframe_t *) zlist_pop (workers);        zframe_destroy (&frame);    }    zlist_destroy (&workers);    zctx_destroy (&ctx);    return 0;    //  .until}
开发者ID:Carl4,项目名称:zguide,代码行数:58,


示例7: broker_check_backlog

// Distribute all backlog messages while are workers available.// Failed-to-send messages are put back in the backlog.voidbroker_check_backlog (broker_t *self){    while (zlist_size (self->backlog) && zlist_size (self->executor_lb)) {        zmsg_t *backlog_msg = zlist_pop (self->backlog);        if (0 != broker_send_to_executor (self, backlog_msg))            zlist_append (self->backlog, backlog_msg);    }}
开发者ID:emef,项目名称:sprk,代码行数:11,


示例8: s_on_read_timer

static ints_on_read_timer (zloop_t *loop, int timer_id, void *arg){    zdir_watch_t *watch = (zdir_watch_t *) arg;    void *data;    for (data = zhash_first (watch->subs); data != NULL; data = zhash_next (watch->subs))    {        zdir_watch_sub_t *sub = (zdir_watch_sub_t *) data;        zdir_t *new_dir = zdir_new (zdir_path (sub->dir), NULL);        if (!new_dir) {            if (watch->verbose)                zsys_error ("zdir_watch: Unable to create new zdir for path %s", zdir_path (sub->dir));            continue;        }        // Determine if anything has changed.        zlist_t *diff = zdir_diff (sub->dir, new_dir, "");        // Do memory management before error handling...        zdir_destroy (&sub->dir);        sub->dir = new_dir;        if (!diff) {            if (watch->verbose)                zsys_error ("zdir_watch: Unable to create diff for path %s", zdir_path (sub->dir));            continue;        }        if (zlist_size (diff) > 0) {            if (watch->verbose) {                zdir_patch_t *patch = (zdir_patch_t *) zlist_first (diff);                zsys_info ("zdir_watch: Found %d changes in %s:", zlist_size (diff), zdir_path (sub->dir));                while (patch)                {                    zsys_info ("zdir_watch:   %s %s", zfile_filename (zdir_patch_file (patch), NULL), zdir_patch_op (patch) == ZDIR_PATCH_CREATE? "created": "deleted");                    patch = (zdir_patch_t *) zlist_next (diff);                }            }            if (zsock_send (watch->pipe, "sp", zdir_path (sub->dir), diff) != 0) {                if (watch->verbose)                    zsys_error ("zdir_watch: Unable to send patch list for path %s", zdir_path (sub->dir));                zlist_destroy (&diff);            }            // Successfully sent `diff` list - now owned by receiver        }        else {            zlist_destroy (&diff);        }    }    return 0;}
开发者ID:diorcety,项目名称:czmq,代码行数:57,


示例9: subscriber_sub_socket_new

staticzsock_t* subscriber_sub_socket_new(subscriber_state_t *state){    zsock_t *socket = zsock_new(ZMQ_SUB);    assert(socket);    zsock_set_rcvhwm(socket, state->rcv_hwm);    // set subscription    if (!state->subscriptions || zlist_size(state->subscriptions) == 0) {        if (!state->subscriptions)            state->subscriptions = zlist_new();        zlist_append(state->subscriptions, zconfig_resolve(state->config, "/logjam/subscription", ""));    }    char *subscription = zlist_first(state->subscriptions);    bool subscribed_to_all = false;    while (subscription) {        printf("[I] subscriber: subscribing to '%s'/n", subscription);        if (streq(subscription, ""))            subscribed_to_all = true;        zsock_set_subscribe(socket, subscription);        subscription = zlist_next(state->subscriptions);    }    if (!subscribed_to_all)        zsock_set_subscribe(socket, "heartbeat");    if (!state->devices || zlist_size(state->devices) == 0) {        // convert config file to list of devices        if (!state->devices)            state->devices = zlist_new();        zconfig_t *endpoints = zconfig_locate(state->config, "/logjam/endpoints");        if (!endpoints) {            zlist_append(state->devices, "tcp://localhost:9606");        } else {            zconfig_t *endpoint = zconfig_child(endpoints);            while (endpoint) {                char *spec = zconfig_value(endpoint);                char *new_spec = augment_zmq_connection_spec(spec, 9606);                zlist_append(state->devices, new_spec);                endpoint = zconfig_next(endpoint);            }        }    }    char* device = zlist_first(state->devices);    while (device) {        printf("[I] subscriber: connecting SUB socket to logjam-device via %s/n", device);        int rc = zsock_connect(socket, "%s", device);        log_zmq_error(rc, __FILE__, __LINE__);        assert(rc == 0);        device = zlist_next(state->devices);    }    return socket;}
开发者ID:skaes,项目名称:logjam-tools,代码行数:55,


示例10: kdt_point_equal_float

boolkdt_point_equal_float (kdt_point_t *A, kdt_point_t *B) {    int n_components_A = zlist_size (A->list);    int n_components_B = zlist_size (B->list);    assert (n_components_A == n_components_B);    bool still_equal = true;    for (int counter = 0; counter < n_components_A; counter++) {        still_equal = ( kdt_point_index_float (A, counter) == kdt_point_index_float (B, counter) );        if (!still_equal)            break;    }    return still_equal;}
开发者ID:youralien,项目名称:kdtree-in-c,代码行数:13,


示例11: START_TEST

END_TEST//  --------------------------------------------------------------------------/// Try to _get () a zlist_t * without any valuesSTART_TEST(test_msg_get_l_empty){    sam_selftest_introduce ("test_msg_get_l_empty");    zmsg_t *zmsg = zmsg_new ();    if (zmsg_pushstr (zmsg, "0")) {        ck_abort_msg ("could not build zmsg");    }    sam_msg_t *msg = sam_msg_new (&zmsg);    ck_assert_int_eq (sam_msg_size (msg), 1);    zlist_t *list;    int rc = sam_msg_get (msg, "l", &list);    ck_assert_int_eq (rc, 0);    ck_assert_int_eq (sam_msg_size (msg), 1);    ck_assert_int_eq (zlist_size (list), 0);    zlist_destroy (&list);    sam_msg_destroy (&msg);}
开发者ID:dreadworks,项目名称:samwise,代码行数:28,


示例12: peering_raise

static voidpeering_raise (peering_t *self){    vocket_t *vocket = self->vocket;    driver_t *driver = self->driver;    if (driver->verbose)        zclock_log ("I: (tcp) bring up peering to %s", self->address);    if (!self->alive) {        self->alive = TRUE;        zlist_append (vocket->live_peerings, self);        //  Send ZMTP handshake, which is an empty message        zmq_msg_t msg;        zmq_msg_init_size (&msg, 0);        s_queue_output (self, &msg, FALSE);        //  If we can now route to peerings, start reading from msgpipe        if (zlist_size (vocket->live_peerings) == vocket->min_peerings) {            //  Ask reactor to start monitoring vocket's msgpipe pipe            zmq_pollitem_t item = { vocket->msgpipe, 0, ZMQ_POLLIN, 0 };            zloop_poller (driver->loop, &item, s_vocket_input, vocket);        }    }}
开发者ID:imatix,项目名称:vtx,代码行数:25,


示例13: multi_job_check

void multi_job_check (struct queue *queue){    zlist_t *newjobs;    json_t *jobs;    ok (queue_size (queue) == 0,        "queue is initially empty");    if (!(jobs = json_pack ("[{s:I s:i s:i s:f s:i},"                             "{s:I s:i s:i s:f s:i}]",                            "id", 1,                            "priority", 10,                            "userid", 42,                            "t_submit", 1.0,                            "flags", 0,                            "id", 2,                            "priority", 11,                            "userid", 43,                            "t_submit", 1.1,                            "flags", 1)))        BAIL_OUT ("json_pack() failed");    newjobs = submit_enqueue_jobs (queue, jobs);    ok (newjobs != NULL,        "submit_enqueue_jobs works");    ok (queue_size (queue) == 2,        "queue contains 2 jobs");    ok (zlist_size (newjobs) == 2,        "newjobs contains 2 jobs");    submit_enqueue_jobs_cleanup (queue, newjobs);    ok (queue_size (queue) == 0,        "submit_enqueue_jobs_cleanup removed queue entries");    json_decref (jobs);}
开发者ID:flux-framework,项目名称:flux-core,代码行数:35,


示例14: rrwrk_print

void rrwrk_print(rrwrk_t *self){    printf("/n=========================================================================/n");    printf("W: live %Zd, hb %d/n", self->liveness, self->heartbeat);    printf("W: waiting list %Zd/n", zlist_size(self->data));    printf("W: received %Zd, finished %Zd/n", self->total_received, self->total_finished);}
开发者ID:PerilousApricot,项目名称:lstore-toolbox,代码行数:7,


示例15: zmsg_send

intzmsg_send (zmsg_t **self_p, void *dest){    assert (self_p);    assert (dest);    zmsg_t *self = *self_p;    int rc = 0;    if (self) {        assert (zmsg_is (self));        bool sent_some = false;        zframe_t *frame;        while ((frame = (zframe_t *) zlist_head (self->frames))) {            rc = zframe_send (&frame, dest,                              zlist_size (self->frames) > 1 ?                                      ZFRAME_MORE : 0);            if (rc != 0) {                if (errno == EINTR && sent_some)                    continue;                else                    break;            }            sent_some = true;            (void) zlist_pop (self->frames);        }        if (rc == 0)            zmsg_destroy (self_p);    }    return rc;}
开发者ID:hellermf,项目名称:lstore-release,代码行数:30,


示例16: s_handle_backend

// Handle input from worker, on backendint s_handle_backend(zloop_t *loop, zmq_pollitem_t *poller, void *arg){	// Use worker identity for load-balancing	lbbroker_t *self = (lbbroker_t *)arg;	zmsg_t *msg = zmsg_recv(self->backend);	if (msg) {		zframe_t *identity = zmsg_unwrap(msg);		zlist_append(self->workers, identity);		// Enable reader on frontend if we went from 0 to 1 workers		if (zlist_size(self->workers) == 1) {			zmq_pollitem_t poller = { self->frontend, 0, ZMQ_POLLIN };			zloop_poller(loop, &poller, s_handle_frontend, self);		}		// Forward message to client if it's not a READY		zframe_t *frame = zmsg_first(msg);		if (memcmp(zframe_data(frame), WORKER_READY, strlen(WORKER_READY)) == 0) {			zmsg_destroy(&msg);		} else {			zmsg_send(&msg, self->frontend);		}	}	return 0;}
开发者ID:a524631266,项目名称:Ongoing-Study,代码行数:26,


示例17: zcert_test

voidzcert_test (bool verbose){    printf (" * zcert: ");#if (ZMQ_VERSION_MAJOR == 4)    //  @selftest    //  Create temporary directory for test files#   define TESTDIR ".test_zcert"    zsys_dir_create (TESTDIR);        //  Create a simple certificate with metadata    zcert_t *cert = zcert_new ();#   if defined (HAVE_LIBSODIUM)    zcert_set_meta (cert, "email", "[email
C++ zlog函数代码示例
C++ zlist_remove函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。