示例#1
0
static service_t *
s_service_new (const char *name)
{
    service_t *self = (service_t *) zmalloc (sizeof (service_t));
    if (self) {
        self->name = strdup (name);
        if (self->name)
            self->queue = zlistx_new ();
        if (self->queue)
            self->offers = zlistx_new ();
        if (self->offers) {
            zlistx_set_destructor (self->queue, (czmq_destructor *) mlm_msg_destroy);
            zlistx_set_destructor (self->offers, (czmq_destructor *) s_offer_destroy);
        }
        else
            s_service_destroy (&self);
    }
    return self;
}
示例#2
0
static service_t *
s_service_new (const char *name, const server_t *server)
{
    service_t *self = (service_t *) zmalloc (sizeof (service_t));
    if (self) {
        self->name = strdup (name);
        if (self->name)
            self->queue = mlm_msgq_new ();
        if (self->queue)
            self->offers = zlistx_new ();
        if (self->offers) {
            mlm_msgq_set_cfg (self->queue, server->service_queue_cfg);
            mlm_msgq_set_name (self->queue, "service %s", self->name);
            zlistx_set_destructor (self->offers, (czmq_destructor *) s_offer_destroy);
        }
        else
            s_service_destroy (&self);
    }
    return self;
}
示例#3
0
文件: zeb_broker.c 项目: sappo/zebra
static void
server_terminate (server_t *self)
{
    s_service_destroy (&self->xrap);
    zhashx_destroy (&self->clients);
}