[sr-dev] git:master: domain: API framework to be used by other modules

Daniel-Constantin Mierla miconda at gmail.com
Fri Jul 17 15:05:11 CEST 2009



On 17.07.2009 14:25 Uhr, Jan Janak wrote:
> On 17-07 13:15, Daniel-Constantin Mierla wrote:
>   
>> Hi Jan,
>>
>> On 17.07.2009 11:37 Uhr, Jan Janak wrote:
>>     
>>> Module: sip-router
>>> Branch: master
>>> Commit: dd5490500f006f86e520958c5ca2646a1e3a96b7
>>> URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=dd5490500f006f86e520958c5ca2646a1e3a96b7
>>>
>>> Author: Jan Janak <jan at iptel.org>
>>> Committer: Jan Janak <jan at iptel.org>
>>> Date:   Fri Jul 17 00:15:39 2009 +0200
>>>
>>> domain: API framework to be used by other modules
>>>
>>>   
>>>       
>> just wondering if worth to extend core a bit so that modules can  
>> register callbacks for is_myself check. Therefore, if (uri==myself) can  
>> match entries in the domain module.
>>
>> Architecturally, the core function goes like now and if no match, then  
>> executes the eventual callbacks. This way does not matter if domain is  
>> db only/cache mode or other modules do checks against other storages  
>> (radius, web app, etc).
>>     
>
> Yes, I think this would be a good thing to do, I also thought about something
> like this. I was thinking about extending the data structures in the core so
> that the domain module can add entries from the database there.
>
> In other words, there would be no callbacks, but the domain module would
> update the list of local domains in the core, instead of keeping them in its
> own memory.  In the script we would then just call is_myself.
>
> Your callback approach is probably more flexible because it leaves the
> decision whether to cache or not up to the module.
>
> Either way, I think that integrating the core domain list with the list of
> domains kept in the domain module would be a good thing to do. Maybe we should
> document it as "to be done" somewhere in the wiki?
>
>   
yes, it is needed. I thought also about a list to be kept in core, but 
then there has to be a way of synchronization when doing reload -- 
adding/removing entries as domain or other module updates its records -- 
callback is easier. I think also is more flexible, e.g., if one needs to 
match all subdomains, can easily implement a module and register just a 
callback instead all subdomains.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla
http://www.asipto.com/index.php/sip-router-bootcamp/




More information about the sr-dev mailing list