--- a/src/server/daemon/resourcepool.c Wed Nov 02 19:19:01 2022 +0100 +++ b/src/server/daemon/resourcepool.c Sun Nov 06 15:53:32 2022 +0100 @@ -36,15 +36,15 @@ #define RESOURCE_POOL_MAX_ALLOC 268435455 -static UcxMap *resource_pool_types; +static CxMap *resource_pool_types; int init_resource_pools(void) { - resource_pool_types = ucx_map_new(4); + resource_pool_types = cxHashMapCreate(cxDefaultAllocator, 4); return resource_pool_types ? 0 : 1; } int resourcepool_register_type(const char *type_name, ResourceType *type_info) { - if(ucx_map_cstr_put(resource_pool_types, type_name, type_info)) { + if(cxMapPut(resource_pool_types, cx_hash_key_str(type_name), type_info)) { log_ereport(LOG_CATASTROPHE, "resourcepool_register_type: OOM"); return 1; } @@ -53,10 +53,10 @@ -int resourcepool_new(ServerConfiguration *cfg, scstr_t type, scstr_t name, ConfigNode *node) { - ResourceType *restype = ucx_map_sstr_get(resource_pool_types, type); +int resourcepool_new(ServerConfiguration *cfg, cxstring type, cxstring name, ConfigNode *node) { + ResourceType *restype = cxMapGet(resource_pool_types, cx_hash_key_bytes((unsigned const char*)type.ptr, type.length)); if(!restype) { - log_ereport(LOG_MISCONFIG, "Unknown resource pool type: %s", type.ptr); + log_ereport(LOG_MISCONFIG, "unknown resource pool type: %s", type.ptr); return 1; } @@ -101,7 +101,7 @@ respool->resalloc = respool->max; respool->resources = pool_malloc(cfg->pool, respool->resalloc * sizeof(ResourceDataPrivate*)); - if(!respool->resources || ucx_map_sstr_put(cfg->resources, name, respool)) { + if(!respool->resources || cxMapPut(cfg->resources, cx_hash_key_bytes((unsigned const char*)name.ptr, name.length), respool)) { log_ereport(LOG_FAILURE, "Cannot add resource pool: OOM"); // the only cleanup we have to do restype->destroy(respool_data); @@ -121,13 +121,13 @@ // was this resource already used by this request? if(request && request->resources) { - resource = ucx_map_cstr_get(request->resources, name); + resource = cxMapGet(request->resources, cx_hash_key_str(name)); if(resource) { return &resource->data; } } - ResourcePool *respool = ucx_map_cstr_get(cfg->resources, name); + ResourcePool *respool = cxMapGet(cfg->resources, cx_hash_key_str(name)); if(!respool) return NULL; @@ -170,11 +170,11 @@ if(resource) { if(request && session) { if(!request->resources) { - request->resources = ucx_map_new_a(&session->allocator, 8); + request->resources = cxHashMapCreate(pool_allocator(session->sn.pool), 8); } if(request->resources) { - if(ucx_map_cstr_put(request->resources, name, resource)) { + if(cxMapPut(request->resources, cx_hash_key_str(name), resource)) { err = 1; } } else {