reSIProcate/stack  9694
Classes | Namespaces | Defines | Functions
Transport.hxx File Reference
#include "rutil/BaseException.hxx"
#include "rutil/Data.hxx"
#include "rutil/FdSetIOObserver.hxx"
#include "rutil/ProducerFifoBuffer.hxx"
#include "resip/stack/TransportFailure.hxx"
#include "resip/stack/Tuple.hxx"
#include "resip/stack/NameAddr.hxx"
#include "resip/stack/Compression.hxx"
#include "resip/stack/SendData.hxx"
Include dependency graph for Transport.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  resip::Transport
 The base class for Transport classes. More...
class  resip::Transport::Exception
 General exception class for Transport. More...

Namespaces

namespace  resip
 

SERNonceHelper implements the makeNonce function in the same way as SIP Express Router (SER) - http://www.iptel.org/ser.


Defines

#define RESIP_TRANSPORT_FLAG_NOBIND   (1<<0)
 TransportFlags is bit-mask that can be set when creating a transport.
#define RESIP_TRANSPORT_FLAG_RXALL   (1<<1)
#define RESIP_TRANSPORT_FLAG_TXALL   (1<<2)
#define RESIP_TRANSPORT_FLAG_KEEP_BUFFER   (1<<3)
#define RESIP_TRANSPORT_FLAG_TXNOW   (1<<4)
#define RESIP_TRANSPORT_FLAG_OWNTHREAD   (1<<5)

Functions

EncodeStreamresip::operator<< (EncodeStream &strm, const Transport &rhs)

Define Documentation

#define RESIP_TRANSPORT_FLAG_KEEP_BUFFER   (1<<3)

Definition at line 58 of file Transport.hxx.

Referenced by resip::UdpTransport::processRxAll().

#define RESIP_TRANSPORT_FLAG_NOBIND   (1<<0)

TransportFlags is bit-mask that can be set when creating a transport.

All flags default to "off" to preserve "traditional" resip behavior. Not all Transports support all flags. All options are experimental. The flags are: NOBIND: On transports that support it (TCP/TLS), do not bind a listening socket; thus no in-bound connections are possible. This can conserve ports and avoid port conflicts in pure-outbound (NAT'd) cases. RXALL: When receiving from socket, read all possible messages before returning to event loop. This allows higher thruput. Without this flag, only one message is read at a time, which is slower over-all, but is more "even" and balanced. TXALL: When transmitting to a socket, write all possible messages before returning to event loop. This allows higher thruput but burstier. KEEP_BUFFER: With this flag, Transports will keep receive and transmit buffers allocated even when not in use. This increases memory utilization but speeds things up. Without this flag, the buffer is released when not in used. TXNOW: When a message to transmit is posted to Transport's transmit queue immediately try sending it. This should have less latency and less overhead with select/poll stuff, but will have deeper call stacks. OWNTHREAD: Specifies whether this Transport object has its own thread (ie; if set, the TransportSelector should not run the select/poll loop for this transport, since that is another thread's job)

Definition at line 55 of file Transport.hxx.

Referenced by resip::TcpBaseTransport::init(), main(), and resip::TcpBaseTransport::TcpBaseTransport().

#define RESIP_TRANSPORT_FLAG_OWNTHREAD   (1<<5)

Definition at line 60 of file Transport.hxx.

Referenced by main(), and resip::InternalTransport::shareStackProcessAndSelect().

#define RESIP_TRANSPORT_FLAG_RXALL   (1<<1)

Definition at line 56 of file Transport.hxx.

Referenced by resip::UdpTransport::processRxAll().

#define RESIP_TRANSPORT_FLAG_TXALL   (1<<2)

Definition at line 57 of file Transport.hxx.

Referenced by resip::UdpTransport::processTxAll().

#define RESIP_TRANSPORT_FLAG_TXNOW   (1<<4)

Definition at line 59 of file Transport.hxx.

Referenced by resip::UdpTransport::process().