[reSIProcate] Merged in my xten-async branch, some minor API changes
derek
derek at xten.com
Wed Mar 16 13:49:17 CST 2005
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/ad4c93b1/attachment.htm>
More information about the resiprocate-devel
mailing list