MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / register_cachedb

Function register_cachedb

cachedb/cachedb.c:155–202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

153}
154
155int register_cachedb(cachedb_engine* cde_entry)
156{
157 struct cachedb_engine_t* cde_node;
158
159 if(cde_entry == NULL)
160 {
161 LM_ERR("null argument\n");
162 return -1;
163 }
164
165 if (lookup_cachedb( &cde_entry->name))
166 {
167 LM_ERR("cachedb system <%.*s> already registered\n",
168 cde_entry->name.len, cde_entry->name.s);
169 return -1;
170 }
171
172 cde_node = (struct cachedb_engine_t*)pkg_malloc(
173 sizeof(struct cachedb_engine_t) + cde_entry->name.len);
174 if (cde_node== NULL)
175 {
176 LM_ERR("no more pkg memory\n");
177 return -1;
178 }
179
180 cde_node->cde.name.s = (char*)cde_node + sizeof(struct cachedb_engine_t);
181 memcpy(cde_node->cde.name.s, cde_entry->name.s, cde_entry->name.len);
182 cde_node->cde.name.len = cde_entry->name.len;
183
184 cde_node->cde.cdb_func = cde_entry->cdb_func;
185
186 if (check_cachedb_api(&cde_node->cde) < 0) {
187 LM_ERR("failed to meet api needs\n");
188 pkg_free(cde_node);
189 return -1;
190 }
191
192 cde_node->cde.default_connection = NULL;
193 cde_node->cde.connections = NULL;
194
195 cde_node->next = cachedb_list;
196 cachedb_list = cde_node;
197
198 LM_DBG("registered cachedb system [%.*s]\n", cde_node->cde.name.len,
199 cde_node->cde.name.s);
200
201 return 0;
202}
203
204int cachedb_insert_connection(cachedb_engine *cde,cachedb_con *conn)
205{

Callers 8

mod_initFunction · 0.85
mod_initFunction · 0.85
mod_initFunction · 0.85
mod_initFunction · 0.85
mod_initFunction · 0.85
mod_initFunction · 0.85
mod_initFunction · 0.85
mod_initFunction · 0.85

Calls 2

lookup_cachedbFunction · 0.85
check_cachedb_apiFunction · 0.85

Tested by

no test coverage detected