reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
resip::ConnectionBase Class Reference

#include <ConnectionBase.hxx>

Inheritance diagram for resip::ConnectionBase:
[legend]

Public Types

enum  { ChunkSize = 8192 }
 

Public Member Functions

 ConnectionBase (Transport *transport, const Tuple &who, Compression &compression=Compression::Disabled)
 
FlowKey getFlowKey () const
 
virtual Transport * transport () const
 
Tuple & who ()
 
const uint64_t & whenLastUsed ()
 
void resetLastUsed ()
 
void addAdditionalFailureString (const Data &additionalFailureString)
 

Static Public Member Functions

static void setMessageSizeMax (size_t max)
 

Protected Types

enum  ConnState {
  NewMessage = 0 , ReadingHeaders , PartialBody , SigComp ,
  WebSocket , MAX
}
 
enum  TransmissionFormat {
  Unknown , Uncompressed , Compressed , WebSocketHandshake ,
  WebSocketData
}
 

Protected Member Functions

ConnState getCurrentState () const
 
bool preparseNewBytes (int bytesRead)
 
bool wsProcessHandshake (int bytesRead, bool &dropConnection)
 
bool wsProcessData (int bytesRead)
 
void wsParseCookies (CookieList &cookieList, const SipMessage *message)
 
void decompressNewBytes (int bytesRead)
 
std::pair< char *, size_t > getWriteBuffer ()
 
std::pair< char *, size_t > getCurrentWriteBuffer ()
 
char * getWriteBufferForExtraBytes (int bytesRead, int extraBytes)
 
void setBuffer (char *bytes, int count)
 
void setFailureReason (TransportFailure::FailureReason failReason, int subCode, const Data &failureString)
 
virtual ~ConnectionBase ()
 
virtual void onDoubleCRLF ()
 
virtual void onSingleCRLF ()
 
virtual void onWsClose (const Data &payload)
 
virtual void onWsPing (const Data &payload)
 

Protected Attributes

Data::size_type mSendPos
 
std::list< SendData * > mOutstandingSends
 
Transport * mTransport
 
Tuple mWho
 
TransportFailure::FailureReason mFailureReason
 
int mFailureSubCode
 
Data mFailureString
 
std::list< Data > mAdditionalFailureStrings
 
Compression & mCompression
 
osc::Stack * mSigcompStack
 
osc::TcpStream * mSigcompFramer
 
TransmissionFormat mSendingTransmissionFormat
 
TransmissionFormat mReceivingTransmissionFormat
 

Friends

EncodeStream & operator<< (EncodeStream &strm, const resip::ConnectionBase &c)
 

Detailed Description

Definition at line 38 of file ConnectionBase.hxx.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ChunkSize 

Definition at line 56 of file ConnectionBase.hxx.

◆ ConnState

Enumerator
NewMessage 
ReadingHeaders 
PartialBody 
SigComp 
WebSocket 
MAX 

Definition at line 62 of file ConnectionBase.hxx.

◆ TransmissionFormat

Enumerator
Unknown 
Uncompressed 
Compressed 
WebSocketHandshake 
WebSocketData 

Definition at line 72 of file ConnectionBase.hxx.

Constructor & Destructor Documentation

◆ ConnectionBase()

ConnectionBase::ConnectionBase ( Transport *  transport,
const Tuple &  who,
Compression &  compression = Compression::Disabled 
)

Definition at line 48 of file ConnectionBase.cxx.

◆ ~ConnectionBase()

ConnectionBase::~ConnectionBase ( )
protectedvirtual

Definition at line 91 of file ConnectionBase.cxx.

Member Function Documentation

◆ addAdditionalFailureString()

void ConnectionBase::addAdditionalFailureString ( const Data &  additionalFailureString)

Definition at line 131 of file ConnectionBase.cxx.

◆ decompressNewBytes()

void resip::ConnectionBase::decompressNewBytes ( int  bytesRead)
protected

◆ getCurrentState()

ConnState resip::ConnectionBase::getCurrentState ( ) const
inlineprotected

Definition at line 81 of file ConnectionBase.hxx.

◆ getCurrentWriteBuffer()

std::pair< char *, size_t > ConnectionBase::getCurrentWriteBuffer ( )
protected

Definition at line 1052 of file ConnectionBase.cxx.

◆ getFlowKey()

FlowKey ConnectionBase::getFlowKey ( ) const

Definition at line 137 of file ConnectionBase.cxx.

◆ getWriteBuffer()

std::pair< char *, size_t > ConnectionBase::getWriteBuffer ( )
protected

Definition at line 1035 of file ConnectionBase.cxx.

◆ getWriteBufferForExtraBytes()

char * ConnectionBase::getWriteBufferForExtraBytes ( int  bytesRead,
int  extraBytes 
)
protected

Definition at line 1058 of file ConnectionBase.cxx.

◆ onDoubleCRLF()

virtual void resip::ConnectionBase::onDoubleCRLF ( )
inlineprotectedvirtual

Reimplemented in resip::Connection.

Definition at line 111 of file ConnectionBase.hxx.

◆ onSingleCRLF()

virtual void resip::ConnectionBase::onSingleCRLF ( )
inlineprotectedvirtual

Reimplemented in resip::Connection.

Definition at line 112 of file ConnectionBase.hxx.

◆ onWsClose()

virtual void resip::ConnectionBase::onWsClose ( const Data &  payload)
inlineprotectedvirtual

Reimplemented in resip::Connection.

Definition at line 115 of file ConnectionBase.hxx.

◆ onWsPing()

virtual void resip::ConnectionBase::onWsPing ( const Data &  payload)
inlineprotectedvirtual

Reimplemented in resip::Connection.

Definition at line 116 of file ConnectionBase.hxx.

◆ preparseNewBytes()

bool ConnectionBase::preparseNewBytes ( int  bytesRead)
protected

Definition at line 143 of file ConnectionBase.cxx.

◆ resetLastUsed()

void resip::ConnectionBase::resetLastUsed ( )
inline

Definition at line 52 of file ConnectionBase.hxx.

◆ setBuffer()

void ConnectionBase::setBuffer ( char *  bytes,
int  count 
)
protected

Definition at line 1081 of file ConnectionBase.cxx.

◆ setFailureReason()

void ConnectionBase::setFailureReason ( TransportFailure::FailureReason  failReason,
int  subCode,
const Data &  failureString 
)
protected

Definition at line 120 of file ConnectionBase.cxx.

◆ setMessageSizeMax()

static void resip::ConnectionBase::setMessageSizeMax ( size_t  max)
inlinestatic

Definition at line 149 of file ConnectionBase.hxx.

◆ transport()

Transport * ConnectionBase::transport ( ) const
virtual
Todo:
should be reference

Definition at line 1089 of file ConnectionBase.cxx.

◆ whenLastUsed()

const uint64_t & resip::ConnectionBase::whenLastUsed ( )
inline

Definition at line 51 of file ConnectionBase.hxx.

◆ who()

Tuple & resip::ConnectionBase::who ( )
inline

Definition at line 50 of file ConnectionBase.hxx.

◆ wsParseCookies()

void ConnectionBase::wsParseCookies ( CookieList &  cookieList,
const SipMessage *  message 
)
protected

Definition at line 577 of file ConnectionBase.cxx.

◆ wsProcessData()

bool ConnectionBase::wsProcessData ( int  bytesRead)
protected

Definition at line 797 of file ConnectionBase.cxx.

◆ wsProcessHandshake()

bool ConnectionBase::wsProcessHandshake ( int  bytesRead,
bool &  dropConnection 
)
protected

Definition at line 625 of file ConnectionBase.cxx.

Friends And Related Symbol Documentation

◆ operator<<

EncodeStream & operator<< ( EncodeStream &  strm,
const resip::ConnectionBase &  c 
)
friend

Member Data Documentation

◆ mAdditionalFailureStrings

std::list<Data> resip::ConnectionBase::mAdditionalFailureStrings
protected

Definition at line 122 of file ConnectionBase.hxx.

◆ mCompression

Compression& resip::ConnectionBase::mCompression
protected

Definition at line 123 of file ConnectionBase.hxx.

◆ mFailureReason

TransportFailure::FailureReason resip::ConnectionBase::mFailureReason
protected

Definition at line 119 of file ConnectionBase.hxx.

◆ mFailureString

Data resip::ConnectionBase::mFailureString
protected

Definition at line 121 of file ConnectionBase.hxx.

◆ mFailureSubCode

int resip::ConnectionBase::mFailureSubCode
protected

Definition at line 120 of file ConnectionBase.hxx.

◆ mOutstandingSends

std::list<SendData*> resip::ConnectionBase::mOutstandingSends
protected

Definition at line 95 of file ConnectionBase.hxx.

◆ mReceivingTransmissionFormat

TransmissionFormat resip::ConnectionBase::mReceivingTransmissionFormat
protected

Definition at line 127 of file ConnectionBase.hxx.

◆ mSendingTransmissionFormat

TransmissionFormat resip::ConnectionBase::mSendingTransmissionFormat
protected

Definition at line 126 of file ConnectionBase.hxx.

◆ mSendPos

Data::size_type resip::ConnectionBase::mSendPos
protected

Definition at line 94 of file ConnectionBase.hxx.

◆ mSigcompFramer

osc::TcpStream* resip::ConnectionBase::mSigcompFramer
protected

Definition at line 125 of file ConnectionBase.hxx.

◆ mSigcompStack

osc::Stack* resip::ConnectionBase::mSigcompStack
protected

Definition at line 124 of file ConnectionBase.hxx.

◆ mTransport

Transport* resip::ConnectionBase::mTransport
protected

Definition at line 117 of file ConnectionBase.hxx.

◆ mWho

Tuple resip::ConnectionBase::mWho
protected

Definition at line 118 of file ConnectionBase.hxx.


The documentation for this class was generated from the following files: