1#if !defined(RESIP_INTERNAL_TRANSPORT_HXX)
2#define RESIP_INTERNAL_TRANSPORT_HXX
22class TransactionMessage;
38 const Data& interfaceObj,
41 unsigned transportFlags = 0,
66 virtual void send(std::unique_ptr<SendData> data);
Handles cross-platform sockets compatibility.
#define RESIP_TRANSPORT_FLAG_OWNTHREAD
static Compression Disabled
Represents a compression configuration object with compression disabled.
Abstract base class that provides a basic congestion management interface.
virtual void unregisterFifo(resip::FifoStatsInterface *fifo)=0
Unregisters a fifo with the congestion manager.
virtual void registerFifo(resip::FifoStatsInterface *fifo)=0
Registers a fifo with the congestion manager.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
static const Data Empty
Constant that represents a zero-length data.
A templated, threadsafe message-queue class.
virtual bool shareStackProcessAndSelect() const
Returns true if this Transport should be included in the FdSet processing loop, false if the Transpor...
virtual void poke()
Called when a writer is done adding messages to the TxFifo; this is used to interrupt the select call...
virtual void startOwnProcessing()
transports that returned false to shareStackProcessAndSelect() shouldn't put messages into the fifo u...
static Socket socket(TransportType type, IpVersion ipVer)
virtual void setCongestionManager(CongestionManager *manager)
SelectInterruptor mSelectInterruptor
virtual unsigned int getFifoSize() const
virtual void send(std::unique_ptr< SendData > data)
virtual bool isFinished() const
virtual Socket getListenerSocket() const
The transport's own listening or bound socket, or INVALID_SOCKET for a transport that holds none.
FdPollItemHandle mPollItemHandle
ConsumerFifoBuffer< SendData > mTxFifoOutBuffer
FdPollItemHandle mInterruptorHandle
virtual ~InternalTransport()
virtual void invokeAfterSocketCreationFunc() const
virtual bool hasDataToSend() const
only applies to transports that shareStackProcessAndSelect
virtual void setPollGrp(FdPollGrp *grp)
Used to 'artificially' interrupt a select call.
This is the primary point of interaction between the app-layer and the stack.
The base class for Transport classes.
CongestionManager * mCongestionManager
virtual void setCongestionManager(CongestionManager *manager)
const Data & netNs() const
dcm! – add UnusedChecking(_enum) below;
void(* AfterSocketCreationFuncPtr)(Socket s, int transportType, const char *file, int line)
struct FdPollItemFake * FdPollItemHandle
This is opaque type used to identify a particular Item.
TransportType
An enumeration of transport protocols.
IpVersion
An enumeration of IP versions.