1#ifndef RESIP_ConnectionBase_hxx
2#define RESIP_ConnectionBase_hxx
25class TransactionMessage;
105 bool scanMsgHeader(
int bytesRead);
106 std::unique_ptr<Data> makeWsHandshakeResponse();
107 bool isUsingSecWebSocketKey();
108 bool isUsingDeprecatedSecWebSocketKeys();
109 const std::shared_ptr<const ConnectionInfo>& getConnectionInfo();
136 static char connectionStates[
MAX][32];
143 std::shared_ptr<const ConnectionInfo> mConnectionInfo;
144 bool mConnectionInfoBuilt =
false;
146 static size_t messageSizeMax;
150 { messageSizeMax =
max; };
static Compression Disabled
Represents a compression configuration object with compression disabled.
virtual Transport * transport() const
void setFailureReason(TransportFailure::FailureReason failReason, int subCode, const Data &failureString)
virtual ~ConnectionBase()
const uint64_t & whenLastUsed()
char * getWriteBufferForExtraBytes(int bytesRead, int extraBytes)
Compression & mCompression
TransmissionFormat mSendingTransmissionFormat
bool wsProcessData(int bytesRead)
virtual void onWsClose(const Data &payload)
osc::TcpStream * mSigcompFramer
std::pair< char *, size_t > getWriteBuffer()
bool wsProcessHandshake(int bytesRead, bool &dropConnection)
void decompressNewBytes(int bytesRead)
TransmissionFormat mReceivingTransmissionFormat
virtual void onSingleCRLF()
friend EncodeStream & operator<<(EncodeStream &strm, const resip::ConnectionBase &c)
osc::Stack * mSigcompStack
static void setMessageSizeMax(size_t max)
std::pair< char *, size_t > getCurrentWriteBuffer()
bool preparseNewBytes(int bytesRead)
std::list< SendData * > mOutstandingSends
void setBuffer(char *bytes, int count)
std::list< Data > mAdditionalFailureStrings
void addAdditionalFailureString(const Data &additionalFailureString)
ConnState getCurrentState() const
virtual void onWsPing(const Data &payload)
void wsParseCookies(CookieList &cookieList, const SipMessage *message)
virtual void onDoubleCRLF()
FlowKey getFlowKey() const
TransportFailure::FailureReason mFailureReason
Connection implements, via sockets, ConnectionBase for managed connections.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Represents a SIP message.
static uint64_t getTimeMs()
Returns the current clock time in milliseconds.
The base class for Transport classes.
Represents a network address.
dcm! – add UnusedChecking(_enum) below;
unsigned long long uint64_t
EncodeStream & operator<<(EncodeStream &strm, const BaseException &e)
std::vector< Cookie > CookieList