src/server/daemon/resourcepool.c

changeset 415
d938228c382e
parent 371
ea836c4f7341
child 460
b9a447b02046
--- 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 {

mercurial