|
reSIProcate
SIP stack, Dialog Usage Manager and related libraries
|
#include "rutil/BaseException.hxx"#include "rutil/Data.hxx"#include "rutil/FdSetIOObserver.hxx"#include "rutil/ProducerFifoBuffer.hxx"#include "resip/stack/TransportFailure.hxx"#include "resip/stack/TcpConnectState.hxx"#include "resip/stack/Tuple.hxx"#include "resip/stack/NameAddr.hxx"#include "resip/stack/Compression.hxx"#include "resip/stack/SendData.hxx"#include <list>#include <memory>#include <utility>#include <atomic>Go to the source code of this file.
Classes | |
| class | resip::Transport |
| The base class for Transport classes. More... | |
| class | resip::Transport::SipMessageLoggingHandler |
| class | resip::Transport::Exception |
| General exception class for Transport. More... | |
Namespaces | |
| namespace | resip |
| dcm! – add UnusedChecking(_enum) below; | |
Macros | |
| #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_TXNOW (1<<4) |
| #define | RESIP_TRANSPORT_FLAG_OWNTHREAD (1<<5) |
| #define | RESIP_TRANSPORT_FLAG_SYMMETRIC_CONNECTIONS (1<<6) |
Functions | |
| EncodeStream & | resip::operator<< (EncodeStream &strm, const Transport &rhs) |
| #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. 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) SYMMETRIC_CONNECTIONS: On connection-oriented transports (TCP/TLS), bind outbound client connections to the same port as the listening socket. This ensures the TCP source port matches the advertised SIP port in Via/Contact headers, enabling proper connection reuse by SIP servers. Note: This prevents multiple simultaneous connections to different destinations from the same transport. Suitable for client applications but may not be appropriate for server applications like repro.
Definition at line 65 of file Transport.hxx.
| #define RESIP_TRANSPORT_FLAG_OWNTHREAD (1<<5) |
Definition at line 69 of file Transport.hxx.
| #define RESIP_TRANSPORT_FLAG_RXALL (1<<1) |
Definition at line 66 of file Transport.hxx.
| #define RESIP_TRANSPORT_FLAG_SYMMETRIC_CONNECTIONS (1<<6) |
Definition at line 70 of file Transport.hxx.
| #define RESIP_TRANSPORT_FLAG_TXALL (1<<2) |
Definition at line 67 of file Transport.hxx.
| #define RESIP_TRANSPORT_FLAG_TXNOW (1<<4) |
Definition at line 68 of file Transport.hxx.