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; }
void zhashx_autofree (zhashx_t *self) { assert (self); zhashx_set_destructor (self, (czmq_destructor *) zstr_free); zhashx_set_duplicator (self, (czmq_duplicator *) strdup); }
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; }
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; }
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; }
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; }
/// // 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); }