<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Hello Daniel,</span></div><div><span><br>Thank you for the advice. I didn't notice the htable changes on the master branch.</span></div><div><span><br></span></div><div><span>Regards,</span></div><div><span>Marius<br><br></span></div><div><br></div><div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><font size="2" face="Arial"><hr size="1"><b><span style="font-weight:bold;">From:</span></b> Daniel-Constantin Mierla <miconda@gmail.com><br><b><span style="font-weight: bold;">To:</span></b> Development mailing list of the sip-router project <sr-dev@lists.sip-router.org><br><b><span style="font-weight: bold;">Cc:</span></b> Marius Ovidiu Bucur <marius@marius-bucur.ro><br><b><span
style="font-weight: bold;">Sent:</span></b> Saturday, June 4, 2011 12:53 AM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [sr-dev] git:mariusbucur/dmq: modified the htable so that a per-table basis dmq parameter can be added<br></font><br>
Hi Marius,<br><br>seems you work on an old version of htable module -- probably you <br>haven't sync'ed your branch with the master for a while.<br><br>For example the function ht_pkg_init() no longer exists. You should sync <br>your branch to master, otherwise you are going to work twice for some parts.<br><br>Cheers,<br>Daniel<br><br>On 6/3/11 11:48 PM, Marius Ovidiu Bucur wrote:<br>> Module: sip-router<br>> Branch: mariusbucur/dmq<br>> Commit: 7ff94993efc1d34bbd78498a27b9de84bc8f41b8<br>> URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=7ff94993efc1d34bbd78498a27b9de84bc8f41b8<br>><br>> Author: Marius Bucur<<a ymailto="mailto:marius@marius-bucur.ro" href="mailto:marius@marius-bucur.ro">marius@marius-bucur.ro</a>><br>> Committer: Marius Bucur<<a ymailto="mailto:marius@marius-bucur.ro" href="mailto:marius@marius-bucur.ro">marius@marius-bucur.ro</a>><br>> Date: Sat Jun
4 00:47:44 2011 +0300<br>><br>> modified the htable so that a per-table basis dmq parameter can be added<br>><br>> ---<br>><br>> modules_k/htable/ht_api.c | 15 ++++++++++++---<br>> modules_k/htable/ht_api.h | 3 ++-<br>> modules_k/htable/ht_var.c | 2 +-<br>> modules_k/htable/htable.c | 18 +++++++-----------<br>> 4 files changed, 22 insertions(+), 16 deletions(-)<br>><br>> diff --git a/modules_k/htable/ht_api.c b/modules_k/htable/ht_api.c<br>> index fe9a66e..b221ea5 100644<br>> --- a/modules_k/htable/ht_api.c<br>> +++ b/modules_k/htable/ht_api.c<br>> @@ -117,7 +117,7 @@ ht_t* ht_get_table(str *name)<br>> return NULL;<br>> }<br>><br>> -int ht_pkg_init(str *name, int autoexp, str *dbtable, int size, int dbmode)<br>> +int ht_pkg_init(str *name, int autoexp, str *dbtable, int size, int
dbmode, int usedmq)<br>> {<br>> unsigned int htid;<br>> ht_t *ht;<br>> @@ -156,7 +156,7 @@ int ht_pkg_init(str *name, int autoexp, str *dbtable, int size, int dbmode)<br>> if(dbtable!=NULL&& dbtable->len>0)<br>> ht->dbtable = *dbtable;<br>> ht->dbmode = dbmode;<br>> -<br>> + ht->usedmq = usedmq;<br>> ht->next = _ht_pkg_root;<br>> _ht_pkg_root = ht;<br>> return 0;<br>> @@ -515,6 +515,7 @@ int ht_table_spec(char *spec)<br>> str name;<br>> str dbtable = {0, 0};<br>> unsigned int autoexpire = 0;<br>> + unsigned int usedmq =
0;<br>> unsigned int size = 4;<br>> int type = 0;<br>> unsigned int dbmode = 0;<br>> @@ -574,6 +575,8 @@ next_token:<br>> type = 3;<br>> else if(tok.len==6&& strncmp(tok.s, "dbmode", 6)==0)<br>> type = 4;<br>> + else if(tok.len==3&& strncmp(tok.s, "dmq", 3)==0)<br>> + type = 5;<br>> else goto error;<br>><br>> if(*p!='=')<br>> @@ -623,6 +626,12 @@ next_token:<br>> LM_DBG("htable [%.*s] - dbmode [%u]\n", name.len, name.s,<br>>
dbmode);<br>> break;<br>> + case 5:<br>> + if(str2int(&tok,&usedmq)!=0)<br>> + goto error;<br>> + LM_DBG("htable [%.*s] - usedmq [%u]\n", name.len, name.s,<br>> + usedmq);<br>> + break;<br>> }<br>> while(p<in.s+in.len&& (*p==';' || *p==' ' || *p=='\t'<br>> || *p=='\n' || *p=='\r'))<br>> @@ -630,7 +639,7 @@
next_token:<br>> if(p<in.s+in.len)<br>> goto next_token;<br>><br>> - return ht_pkg_init(&name, autoexpire,&dbtable, size, dbmode);<br>> + return ht_pkg_init(&name, autoexpire,&dbtable, size, dbmode, usedmq);<br>><br>> error:<br>> LM_ERR("invalid htable parameter [%.*s] at [%d]\n", in.len, in.s,<br>> diff --git a/modules_k/htable/ht_api.h b/modules_k/htable/ht_api.h<br>> index 71c8e21..8dc7553 100644<br>> --- a/modules_k/htable/ht_api.h<br>> +++ b/modules_k/htable/ht_api.h<br>> @@ -55,6 +55,7 @@ typedef struct _ht<br>> unsigned int htexpire;<br>> str dbtable;<br>> int dbmode;<br>> + int usedmq;<br>> unsigned int
htsize;<br>> ht_entry_t *entries;<br>> struct _ht *next;<br>> @@ -66,7 +67,7 @@ typedef struct _ht_pv {<br>> pv_elem_t *pve;<br>> } ht_pv_t, *ht_pv_p;<br>><br>> -int ht_pkg_init(str *name, int autoexp, str *dbtable, int size, int dbmode);<br>> +int ht_pkg_init(str *name, int autoexp, str *dbtable, int size, int dbmode, int usedmq);<br>> int ht_shm_init(void);<br>> int ht_destroy(void);<br>> int ht_set_cell(ht_t *ht, str *name, int type, int_str *val, int mode);<br>> diff --git a/modules_k/htable/ht_var.c b/modules_k/htable/ht_var.c<br>> index 921cca3..26e0747 100644<br>> --- a/modules_k/htable/ht_var.c<br>> +++ b/modules_k/htable/ht_var.c<br>> @@ -109,7 +109,7 @@ int pv_set_ht_cell(struct sip_msg* msg, pv_param_t *param,<br>> LM_ERR("cannot get $ht
name\n");<br>> return -1;<br>> }<br>> - if(ht_use_dmq) {<br>> + if(hpv->ht->usedmq) {<br>> serialized_ht.s = pkg_malloc(MAX_HT_SERIALIZE_BUF);<br>> serialized_ht.len = MAX_HT_SERIALIZE_BUF;<br>> if(serialize_ht_pair(&htname, val,&hpv->htname,&serialized_ht)< 0) {<br>> diff --git a/modules_k/htable/htable.c b/modules_k/htable/htable.c<br>> index 58a690c..62ca74d 100644<br>> --- a/modules_k/htable/htable.c<br>> +++ b/modules_k/htable/htable.c<br>> @@ -101,7 +101,7 @@ error:<br>> return -1;<br>> }<br>><br>> -static void add_dmq_peer() {<br>> +static void ht_add_dmq_peer() {<br>>
dmq_peer_t htable_peer;<br>> memset(&ht_dmq_resp_cback, 0, sizeof(ht_dmq_resp_cback));<br>> htable_peer.peer_id.s = "htable";<br>> @@ -113,7 +113,6 @@ static void add_dmq_peer() {<br>> }<br>><br>> int ht_timer_interval = 20;<br>> -int ht_use_dmq = 0;<br>><br>> static int htable_init_rpc(void);<br>><br>> @@ -174,7 +173,6 @@ static param_export_t params[]={<br>> {"array_size_suffix", STR_PARAM,&ht_array_size_suffix.s},<br>> {"fetch_rows", INT_PARAM,&ht_fetch_rows},<br>> {"timer_interval", INT_PARAM,&ht_timer_interval},<br>> - {"use_dmq", INT_PARAM,&ht_use_dmq},<br>> {0,0,0}<br>> };<br>><br>> @@ -240,14 +238,12 @@ static
int mod_init(void)<br>> }<br>> }<br>> <br>> - if(ht_use_dmq){<br>> - if(dmq_load_api(&ht_dmq_bind)< 0) {<br>> - LM_ERR("cannot load dmq api\n");<br>> - return -1;<br>> - } else {<br>> - add_dmq_peer();<br>> - LM_DBG("presence-dmq loaded\n");<br>> - }<br>> + if(dmq_load_api(&ht_dmq_bind)< 0) {<br>> + LM_ERR("cannot load dmq api\n");<br>> + return
-1;<br>> + } else {<br>> + ht_add_dmq_peer();<br>> + LM_DBG("presence-dmq loaded\n");<br>> }<br>> return 0;<br>> }<br>><br>><br>> _______________________________________________<br>> sr-dev mailing list<br>> <a ymailto="mailto:sr-dev@lists.sip-router.org" href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a><br>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev<br><br>-- <br>Daniel-Constantin Mierla -- http://www.asipto.com<br>http://linkedin.com/in/miconda -- http://twitter.com/miconda<br><br><br>_______________________________________________<br>sr-dev mailing list<br><a ymailto="mailto:sr-dev@lists.sip-router.org" href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a><br><a
href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><br><br><br></div></div></div></body></html>