[SR-Users] About setflag()'s parameter

Alex Balashov abalashov at evaristesys.com
Tue Jul 6 10:16:31 CEST 2010


Daniel,

Based on this, I think I was erroneous in suggesting that plain flags 
(setflag, isflagset) are transaction-associated.  They seem to be 
message-associated, not transaction.  Is this right?

Thanks,

-- Alex

On 07/06/2010 04:05 AM, Daniel-Constantin Mierla wrote:

> Hello,
>
> here is a wiki page with some flag bitmask vector examples that might help:
> http://www.kamailio.org/dokuwiki/doku.php/tutorials:openser-flag-operations
>
> The cfg file examples are for older kamailio versions.
>
> Cheers,
> Daniel
>
>
> On 7/6/10 4:02 AM, Alex Balashov wrote:
>> On 07/05/2010 09:59 PM, zhou tianjun wrote:
>>
>>> I'm in doubt of the means of setflag()'s parameter. I have looked for
>>> it everywhere including internet and the ser source code, but no any
>>> docs explained it in detail. can anybody tell me about it ?
>>
>> It sets bits in a 32-bit integer (it may be 64-bit on 64-bit
>> platforms, of this I am not sure) that is bound to a transaction, so
>> those "flags" may be accessed in requests and replies associated with
>> a given transaction, or, further down in the execution flow of same
>> message handler.
>>
>> It is precisely equivalent to the way bit vectors are used in
>> general-purpose programming languages, e.g.
>>
>> int flags = 0;
>>
>> flags |= (1 << 4); /* Set bit 4 */
>>
>> if(flags & (1 << 4)) {
>> printf("Bit 4 is set!\n");
>> } else {
>> printf("Bit 4 is not set!\n");
>> }
>>
>> /* If bit 4 is set, unset it */
>>
>> if(flags & (1 << 4))
>> flags &= ~(1 << 4);
>>
>>
>


-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/



More information about the sr-users mailing list