Exemplo n.º 1
0
static int
server_initialize (server_t *self)
{
    self->mailbox = zactor_new (mlm_mailbox_simple, NULL);
    assert (self->mailbox);
    self->streams = zhashx_new ();
    assert (self->streams);
    self->services = zhashx_new ();
    assert (self->services);
    self->clients = zhashx_new ();
    assert (self->clients);
    zhashx_set_destructor (self->streams, (czmq_destructor *) s_stream_destroy);
    zhashx_set_destructor (self->services, (czmq_destructor *) s_service_destroy);
    return 0;
}
Exemplo n.º 2
0
Arquivo: zhashx.c Projeto: claws/czmq
void
zhashx_autofree (zhashx_t *self)
{
    assert (self);
    zhashx_set_destructor (self, (czmq_destructor *) zstr_free);
    zhashx_set_duplicator (self, (czmq_duplicator *) strdup);
}
Exemplo n.º 3
0
static int
server_initialize (server_t *self)
{
    self->mailbox = zactor_new (mlm_mailbox_bounded, NULL);
    assert (self->mailbox);
    self->streams = zhashx_new ();
    assert (self->streams);
    self->services = zhashx_new ();
    assert (self->services);
    self->clients = zhashx_new ();
    assert (self->clients);
    zhashx_set_destructor (self->streams, (czmq_destructor *) s_stream_destroy);
    zhashx_set_destructor (self->services, (czmq_destructor *) s_service_destroy);
    zhashx_set_destructor (self->clients, (czmq_destructor *) s_client_local_destroy);
    self->service_queue_cfg = mlm_msgq_cfg_new ("mlm_server/service/queue");
    assert (self->service_queue_cfg);
    return 0;
}
Exemplo n.º 4
0
zcertstore_t *
zcertstore_new (const char *location)
{
    zcertstore_t *self = (zcertstore_t *) zmalloc (sizeof (zcertstore_t));
    assert (self);

    self->certs = zhashx_new ();
    assert (self->certs);
    zhashx_set_destructor (self->certs, (czmq_destructor *) zcert_destroy);

    if (location) {
        self->location = strdup (location);
        assert (self->location);
        s_load_certs_from_disk (self);
    }
    return self;
}
Exemplo n.º 5
0
zcertstore_t *
zcertstore_new (const char *location)
{
    zcertstore_t *self = (zcertstore_t *) zmalloc (sizeof (zcertstore_t));
    assert (self);

    self->certs = zhashx_new ();
    assert (self->certs);
    zhashx_set_destructor (self->certs, (czmq_destructor *) zcert_destroy);

    if (location) {
        disk_loader_state *state = (disk_loader_state *) zmalloc (sizeof (disk_loader_state));
        state->location = strdup (location);
        assert (state->location);
        state->modified = 0;
        state->count = 0;
        state->cursize = 0;
        zcertstore_set_loader (self, s_disk_loader, s_disk_loader_state_destroy, (void *)state);
    }
    return self;
}
Exemplo n.º 6
0
zcertstore_t *
zcertstore_new (const char *location)
{
    zcertstore_t *self = (zcertstore_t *) zmalloc (sizeof (zcertstore_t));
    if (!self)
        return NULL;

    self->certs = zhashx_new ();
    if (self->certs) {
        zhashx_set_destructor (self->certs, (czmq_destructor *) zcert_destroy);
        if (location) {
            self->location = strdup (location);
            if (!self->location) {
                zcertstore_destroy (&self);
                return NULL;
            }
            s_load_certs_from_disk (self);
        }
    }
    else
        zcertstore_destroy (&self);
    return self;
}
Exemplo n.º 7
0
///
//  Set a user-defined deallocator for hash items; by default items are not
//  freed when the hash is destroyed.                                      
void QZhashx::setDestructor (zhashx_destructor_fn destructor)
{
    zhashx_set_destructor (self, destructor);
    
}