[reSIProcate] Merged in my xten-async branch, some minor API changes
derek
derek at xten.com
Wed Mar 16 14:06:32 CST 2005
Canonicalized eol conventions; pre-merge is 3998, post merge w/ all unix eol
conventions is 4000.
--Derek
CONFIDENTIALITY NOTICE
This email and any files transmitted with it contains proprietary
information and, unless expressly stated otherwise, all contents and
attachments are confidential. This email is intended for the addressee(s)
only and access by anyone else is unauthorized. If you are not an addressee,
any disclosure, distribution, printing or copying of the contents of this
email or its attachments, or any action taken in reliance on it, is
unauthorized and may be unlawful. If you are not an addressee, please inform
the sender immediately and then delete this email and any copies of it.
Thank you for your co-operation.
_____
From: resiprocate-devel-bounces at list.sipfoundry.org
[mailto:resiprocate-devel-bounces at list.sipfoundry.org] On Behalf Of derek
Sent: Wednesday, March 16, 2005 11:49 AM
To: resiprocate-devel at list.sipfoundry.org
Subject: [reSIProcate] Merged in my xten-async branch, some minor API
changes
At long last this is merged in, along with some other fixes that I spotted
along the way. Here's the commit log, mangled a bit by outlook.
Major changes:
Alternative "async/external" Processing Model
The SipStack & DUM can now run w/out being in a build/select/process
loop. This is accomplished witht ransports that provide their own cycles,
as well
as an external timer api. The SipStack is constructed w/ an
AsyncProcessHandler which gets notified when a message is put into the
StateMacFifo, or when SipStack::postMs or SipStack::post is called. This
can be
optimized a bit more; in some cases only a timer adjustment may be required,
but
the stack might not require cycles. DumProcessHandler, located in the Dum
directory, is a example of how to use this. Note that it provides ares w/ a
50
ms timer when there is an active query. DnsInterface now has a
requiresProcess
method to facilitate this; it should possibly become another
getTimeTillNextProcess method.
Transport Refactoring/Cleanup
TransportSelector now only understands objects that derive from Transport.
The
SipStack is responsible for the Transport Factory behaviour of addTransport.
A
lot of the Transport has moved into InternalTransport, to keep the Transport
abstraction clean. Also, the tcp transports have been cleaned up; most of
dlb's
rant in ConnectionBase.hxx has been answered.
IpVersion vs Bool IpV4
bool is no longer used to represnt IpVersion, the enum is used in tuple and
anywhere else I spotted it.
The result of this merge/cleanup has been regressed; I still need to
re-write
testTransportSelector.cxx. The async model has not been used yet with the
result of this merge, but it was used extensively in the branch.
--Derek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20050316/dbf1737a/attachment.htm>
More information about the resiprocate-devel
mailing list