/[resiprocate]/main/sip/resiprocate/ConnectionBase.hxx
ViewVC logotype

Log of /main/sip/resiprocate/ConnectionBase.hxx

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 5294)

Revision 3999 - (view) (download) (annotate) - [select for diffs]
Added Wed Mar 16 19:41:28 2005 UTC (14 years, 9 months ago) by derek
File length: 4830 byte(s)
Merged in of async branch:

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
esult of this merge, but it was sued extensively in the branch.


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

webmaster AT resiprocate DOT org
ViewVC Help
Powered by ViewVC 1.1.27