14 #ifdef DtUSE_UTILITIES_NAMESPACE
15 namespace DtUSE_UTILITIES_NAMESPACE
47 #define DtInetSockPacketHeader_MASK_NONE 0x00
48 #define DtInetSockPacketHeader_MASK_DtU8 0xff
49 #define DtInetSockPacketHeader_MASK_DtU16 0xffff
50 #define DtInetSockPacketHeader_MASK_DtU32 0xffffffff
53 #define DtInetSockDefaultPktHdrDesc { 0, 4, DtInetSockPacketHeader_MASK_DtU32 }
61 DtInetSockPktHdrDesc myHeaderDesc;
63 bool myWaitingForStartOfPacket;
71 virtual bool setHeaderDescriptor( DtInetSockPktHdrDesc& hdrDesc );
72 virtual DtInetSockPktHdrDesc& getHeaderDescriptor()
const;
84 virtual bool setMaxBacklogSize(
DtU32 size );
85 virtual DtU32 getMaxBacklogSize();
89 DtU32 myMaxBacklogSize;
91 DtU32 myMaxBundleSize;
103 bool DtInetSocket::setHeaderDescriptor( DtInetSockPktHdrDesc& hdrDesc )
105 if ( (hdrDesc.sizeFieldLength != 0) && (hdrDesc.sizeFieldLength != 1)
106 && (hdrDesc.sizeFieldLength != 2) && (hdrDesc.sizeFieldLength != 4) )
112 myHeaderDesc.sizeFieldOffset = hdrDesc.sizeFieldOffset;
113 myHeaderDesc.sizeFieldLength = hdrDesc.sizeFieldLength;
114 myHeaderDesc.sizeFieldMask = hdrDesc.sizeFieldMask;
115 myBytesNeeded = myHeaderDesc.sizeFieldOffset + myHeaderDesc.sizeFieldLength;
116 if ( hdrDesc.sizeFieldLength != 0 )
118 myWaitingForStartOfPacket =
true;
122 myWaitingForStartOfPacket =
false;
127 DtInetSockPktHdrDesc& DtInetSocket::getHeaderDescriptor()
const
129 return (DtInetSockPktHdrDesc&)myHeaderDesc;
132 bool DtInetSocket::setMaxBundleSize(
DtU32 size )
134 myMaxBundleSize = size;
141 DtInetSocket::addToBundle, cbPriority );
153 DtU32 DtInetSocket::getMaxBundleSize()
155 return myMaxBundleSize;
158 bool DtInetSocket::isBundling()
160 return (myMaxBundleSize > 0);
163 bool DtInetSocket::setMaxBacklogSize(
DtU32 size,
int cbPriority )
165 myMaxBacklogSize = size;
180 DtU32 DtInetSocket::getMaxBacklogSize()
182 return myMaxBacklogSize;
213 #ifdef DtUSE_UTILITIES_NAMESPACE
This file contains the declaration of the DtInetSocket base class.
int DtInetSockUtilUnbundle(DtInetSocket *sock, int size, DtInetBufferChain &buffChain, DtInetEndpoint &ep, void *usr)
std::vector< DtInetBuffer * > DtInetBufferChain
Socket state enumeration.
Definition: vlInetSocket.h:105
The DtInetSocket class provides a protocol independant, address family independant base class for TCP...
Definition: vlInetSocket.h:201
std::pair< DtU32, DtInetBufferChain > DtInetChainEntry
Definition: vlInetSocketUtils.h:26
The DtInetEndpoint class provides a protocol independant, address family independent mechanism to rep...
Definition: vlInetEndpoint.h:33
int DtInetSockUtilQueueBacklog(DtInetSocket *sock, int size, DtInetBufferChain &buffChain, DtInetEndpoint &ep, void *usr)
std::map< DtInetEndpoint, DtInetChainEntry > DtInetSockOutboundBundleMap
Definition: vlInetSocketUtils.h:27
DtU8 DtNetU8
Unsigned 8-bit value.
Definition: vlNetTypes.h:30
int DtInetSockUtilFlushBundle(DtInetSocket *sock, int size, DtInetBufferChain &buffChain, DtInetEndpoint &ep, void *usr)
std::deque< DtInetSockInboundBundleEntry > DtInetSockInboundBundleQueue
Definition: vlInetSocketUtils.h:34
int DtInetSockUtilAddToBundle(DtInetSocket *sock, int size, DtInetBufferChain &buffChain, DtInetEndpoint &ep, void *usr)
Common utility callbacks.
std::pair< DtInetEndpoint, DtInetBuffer * > DtInetSockInboundBundleEntry
Definition: vlInetSocketUtils.h:33
struct DtInetUtils::DtInetPktHeaderDescriptor DtInetPktHeaderDescriptor
The packet header descriptor struct supplants the sizeLength and sizeOffset values.
Definition: vlInetSocket.h:157
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
int DtInetSockUtilFlushBacklog(DtInetSocket *sock, int size, DtInetBufferChain &buffChain, DtInetEndpoint &ep, void *usr)
This file declares useful defaults constants and static methods employed with the networking abstract...