Crypto++
7.0
Free C++ class library of cryptographic schemes
|
socket-based implementation of NetworkSink More...
Public Member Functions | |
SocketSink (socket_t s=INVALID_SOCKET, unsigned int maxBufferSize=0, unsigned int autoFlushBound=16 *1024) | |
void | SendEof () |
![]() | |
NetworkSink (unsigned int maxBufferSize, unsigned int autoFlushBound) | |
unsigned int | GetMaxWaitObjectCount () const |
Retrieves the maximum number of waitable objects. | |
void | GetWaitObjects (WaitObjectContainer &container, CallStack const &callStack) |
Retrieves waitable objects. More... | |
size_t | Put2 (const byte *inString, size_t length, int messageEnd, bool blocking) |
Input multiple bytes for processing. More... | |
void | SetMaxBufferSize (size_t maxBufferSize) |
void | SetAutoFlushBound (size_t bound) |
set a bound which will cause sink to flush if exceeded by GetCurrentBufferSize() | |
size_t | GetMaxBufferSize () const |
size_t | GetCurrentBufferSize () const |
void | ClearBuffer () |
bool | EofPending () const |
float | ComputeCurrentSpeed () |
compute the current speed of this sink in bytes per second | |
float | GetMaxObservedSpeed () const |
get the maximum observed speed of this sink in bytes per second | |
![]() | |
bool | IsolatedFlush (bool hardFlush, bool blocking) |
Flushes data buffered by this object, without signal propagation. More... | |
lword | TimedFlush (unsigned long maxTime, size_t targetSize=0) |
flush to device for no more than maxTime milliseconds More... | |
![]() | |
size_t | TransferTo2 (BufferedTransformation &target, lword &transferBytes, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true) |
Transfer bytes from this object to another BufferedTransformation. More... | |
size_t | CopyRangeTo2 (BufferedTransformation &target, lword &begin, lword end=LWORD_MAX, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true) const |
Copy bytes from this object to another BufferedTransformation. More... | |
![]() | |
BufferedTransformation () | |
Construct a BufferedTransformation. | |
BufferedTransformation & | Ref () |
Provides a reference to this object. More... | |
size_t | Put (byte inByte, bool blocking=true) |
Input a byte for processing. More... | |
size_t | Put (const byte *inString, size_t length, bool blocking=true) |
Input a byte buffer for processing. More... | |
size_t | PutWord16 (word16 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true) |
Input a 16-bit word for processing. More... | |
size_t | PutWord32 (word32 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true) |
Input a 32-bit word for processing. More... | |
virtual byte * | CreatePutSpace (size_t &size) |
Request space which can be written into by the caller. More... | |
virtual bool | CanModifyInput () const |
Determines whether input can be modified by the callee. More... | |
size_t | PutModifiable (byte *inString, size_t length, bool blocking=true) |
Input multiple bytes that may be modified by callee. More... | |
bool | MessageEnd (int propagation=-1, bool blocking=true) |
Signals the end of messages to the object. More... | |
size_t | PutMessageEnd (const byte *inString, size_t length, int propagation=-1, bool blocking=true) |
Input multiple bytes for processing and signal the end of a message. More... | |
virtual size_t | PutModifiable2 (byte *inString, size_t length, int messageEnd, bool blocking) |
Input multiple bytes that may be modified by callee. More... | |
virtual void | IsolatedInitialize (const NameValuePairs ¶meters) |
Initialize or reinitialize this object, without signal propagation. More... | |
virtual bool | IsolatedMessageSeriesEnd (bool blocking) |
Marks the end of a series of messages, without signal propagation. More... | |
virtual void | Initialize (const NameValuePairs ¶meters=g_nullNameValuePairs, int propagation=-1) |
Initialize or reinitialize this object, with signal propagation. More... | |
virtual bool | Flush (bool hardFlush, int propagation=-1, bool blocking=true) |
Flush buffered input and/or output, with signal propagation. More... | |
virtual bool | MessageSeriesEnd (int propagation=-1, bool blocking=true) |
Marks the end of a series of messages, with signal propagation. More... | |
virtual void | SetAutoSignalPropagation (int propagation) |
Set propagation of automatically generated and transferred signals. More... | |
virtual int | GetAutoSignalPropagation () const |
Retrieve automatic signal propagation value. More... | |
virtual lword | MaxRetrievable () const |
Provides the number of bytes ready for retrieval. More... | |
virtual bool | AnyRetrievable () const |
Determines whether bytes are ready for retrieval. More... | |
virtual size_t | Get (byte &outByte) |
Retrieve a 8-bit byte. More... | |
virtual size_t | Get (byte *outString, size_t getMax) |
Retrieve a block of bytes. More... | |
virtual size_t | Peek (byte &outByte) const |
Peek a 8-bit byte. More... | |
virtual size_t | Peek (byte *outString, size_t peekMax) const |
Peek a block of bytes. More... | |
size_t | GetWord16 (word16 &value, ByteOrder order=BIG_ENDIAN_ORDER) |
Retrieve a 16-bit word. More... | |
size_t | GetWord32 (word32 &value, ByteOrder order=BIG_ENDIAN_ORDER) |
Retrieve a 32-bit word. More... | |
size_t | PeekWord16 (word16 &value, ByteOrder order=BIG_ENDIAN_ORDER) const |
Peek a 16-bit word. More... | |
size_t | PeekWord32 (word32 &value, ByteOrder order=BIG_ENDIAN_ORDER) const |
Peek a 32-bit word. More... | |
lword | TransferTo (BufferedTransformation &target, lword transferMax=LWORD_MAX, const std::string &channel=DEFAULT_CHANNEL) |
move transferMax bytes of the buffered output to target as input More... | |
virtual lword | Skip (lword skipMax=LWORD_MAX) |
Discard skipMax bytes from the output buffer. More... | |
lword | CopyTo (BufferedTransformation &target, lword copyMax=LWORD_MAX, const std::string &channel=DEFAULT_CHANNEL) const |
copy copyMax bytes of the buffered output to target as input More... | |
lword | CopyRangeTo (BufferedTransformation &target, lword position, lword copyMax=LWORD_MAX, const std::string &channel=DEFAULT_CHANNEL) const |
Copy bytes from this object using an index to another BufferedTransformation. More... | |
virtual lword | TotalBytesRetrievable () const |
Provides the number of bytes ready for retrieval. More... | |
virtual unsigned int | NumberOfMessages () const |
Provides the number of meesages processed by this object. More... | |
virtual bool | AnyMessages () const |
Determines if any messages are available for retrieval. More... | |
virtual bool | GetNextMessage () |
Start retrieving the next message. More... | |
virtual unsigned int | SkipMessages (unsigned int count=UINT_MAX) |
Skip a number of meessages. More... | |
unsigned int | TransferMessagesTo (BufferedTransformation &target, unsigned int count=UINT_MAX, const std::string &channel=DEFAULT_CHANNEL) |
Transfer messages from this object to another BufferedTransformation. More... | |
unsigned int | CopyMessagesTo (BufferedTransformation &target, unsigned int count=UINT_MAX, const std::string &channel=DEFAULT_CHANNEL) const |
Copy messages from this object to another BufferedTransformation. More... | |
virtual void | SkipAll () |
Skip all messages in the series. | |
void | TransferAllTo (BufferedTransformation &target, const std::string &channel=DEFAULT_CHANNEL) |
Transfer all bytes from this object to another BufferedTransformation. More... | |
void | CopyAllTo (BufferedTransformation &target, const std::string &channel=DEFAULT_CHANNEL) const |
Copy messages from this object to another BufferedTransformation. More... | |
virtual bool | GetNextMessageSeries () |
Retrieve the next message in a series. More... | |
virtual unsigned int | NumberOfMessagesInThisSeries () const |
Provides the number of messages in a series. More... | |
virtual unsigned int | NumberOfMessageSeries () const |
Provides the number of messages in a series. More... | |
size_t | TransferMessagesTo2 (BufferedTransformation &target, unsigned int &messageCount, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true) |
Transfer messages from this object to another BufferedTransformation. More... | |
size_t | TransferAllTo2 (BufferedTransformation &target, const std::string &channel=DEFAULT_CHANNEL, bool blocking=true) |
Transfer all bytes from this object to another BufferedTransformation. More... | |
size_t | ChannelPut (const std::string &channel, byte inByte, bool blocking=true) |
Input a byte for processing on a channel. More... | |
size_t | ChannelPut (const std::string &channel, const byte *inString, size_t length, bool blocking=true) |
Input a byte buffer for processing on a channel. More... | |
size_t | ChannelPutModifiable (const std::string &channel, byte *inString, size_t length, bool blocking=true) |
Input multiple bytes that may be modified by callee on a channel. More... | |
size_t | ChannelPutWord16 (const std::string &channel, word16 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true) |
Input a 16-bit word for processing on a channel. More... | |
size_t | ChannelPutWord32 (const std::string &channel, word32 value, ByteOrder order=BIG_ENDIAN_ORDER, bool blocking=true) |
Input a 32-bit word for processing on a channel. More... | |
bool | ChannelMessageEnd (const std::string &channel, int propagation=-1, bool blocking=true) |
Signal the end of a message. More... | |
size_t | ChannelPutMessageEnd (const std::string &channel, const byte *inString, size_t length, int propagation=-1, bool blocking=true) |
Input multiple bytes for processing and signal the end of a message. More... | |
virtual byte * | ChannelCreatePutSpace (const std::string &channel, size_t &size) |
Request space which can be written into by the caller. More... | |
virtual size_t | ChannelPut2 (const std::string &channel, const byte *inString, size_t length, int messageEnd, bool blocking) |
Input multiple bytes for processing on a channel. More... | |
virtual size_t | ChannelPutModifiable2 (const std::string &channel, byte *inString, size_t length, int messageEnd, bool blocking) |
Input multiple bytes that may be modified by callee on a channel. More... | |
virtual bool | ChannelFlush (const std::string &channel, bool hardFlush, int propagation=-1, bool blocking=true) |
Flush buffered input and/or output on a channel. More... | |
virtual bool | ChannelMessageSeriesEnd (const std::string &channel, int propagation=-1, bool blocking=true) |
Marks the end of a series of messages on a channel. More... | |
virtual void | SetRetrievalChannel (const std::string &channel) |
Sets the default retrieval channel. More... | |
virtual bool | Attachable () |
Determines whether the object allows attachment. More... | |
virtual BufferedTransformation * | AttachedTransformation () |
Returns the object immediately attached to this object. More... | |
virtual const BufferedTransformation * | AttachedTransformation () const |
Returns the object immediately attached to this object. More... | |
virtual void | Detach (BufferedTransformation *newAttachment=NULL) |
Delete the current attachment chain and attach a new one. More... | |
virtual void | Attach (BufferedTransformation *newAttachment) |
Add newAttachment to the end of attachment chain. More... | |
![]() | |
Algorithm (bool checkSelfTestStatus=true) | |
Interface for all crypto algorithms. More... | |
virtual std::string | AlgorithmName () const |
Provides the name of this algorithm. More... | |
![]() | |
virtual Clonable * | Clone () const |
Copies this object. More... | |
![]() | |
bool | Wait (unsigned long milliseconds, CallStack const &callStack) |
Wait on this object. More... | |
![]() | |
LimitedBandwidth (lword maxBytesPerSecond=0) | |
lword | GetMaxBytesPerSecond () const |
void | SetMaxBytesPerSecond (lword v) |
lword | ComputeCurrentTransceiveLimit () |
double | TimeToNextTransceive () |
void | NoteTransceive (lword size) |
unsigned int | GetMaxWaitObjectCount () const |
void | GetWaitObjects (WaitObjectContainer &container, const CallStack &callStack) |
![]() | |
Socket (socket_t s=INVALID_SOCKET, bool own=false) | |
Socket (const Socket &s) | |
bool | GetOwnership () const |
void | SetOwnership (bool own) |
operator socket_t () | |
socket_t | GetSocket () const |
void | AttachSocket (socket_t s, bool own=false) |
socket_t | DetachSocket () |
void | CloseSocket () |
void | Create (int nType=SOCK_STREAM) |
void | Bind (unsigned int port, const char *addr=NULL) |
void | Bind (const sockaddr *psa, socklen_t saLen) |
void | Listen (int backlog=SOMAXCONN) |
bool | Connect (const char *addr, unsigned int port) |
bool | Connect (const sockaddr *psa, socklen_t saLen) |
bool | Accept (Socket &s, sockaddr *psa=NULL, socklen_t *psaLen=NULL) |
void | GetSockName (sockaddr *psa, socklen_t *psaLen) |
void | GetPeerName (sockaddr *psa, socklen_t *psaLen) |
unsigned int | Send (const byte *buf, size_t bufLen, int flags=0) |
unsigned int | Receive (byte *buf, size_t bufLen, int flags=0) |
void | ShutDown (int how=SD_SEND) |
void | IOCtl (long cmd, unsigned long *argp) |
bool | SendReady (const timeval *timeout) |
bool | ReceiveReady (const timeval *timeout) |
virtual void | HandleError (const char *operation) const |
void | CheckAndHandleError_int (const char *operation, int result) const |
void | CheckAndHandleError (const char *operation, socket_t result) const |
void | CheckAndHandleError (const char *operation, BOOL result) const |
void | CheckAndHandleError (const char *operation, bool result) const |
Additional Inherited Members | |
![]() | |
static unsigned int | PortNameToNumber (const char *name, const char *protocol="tcp") |
look up the port number given its name, returns 0 if not found | |
static void | StartSockets () |
start Windows Sockets 2 | |
static void | ShutdownSockets () |
calls WSACleanup for Windows Sockets | |
static int | GetLastError () |
returns errno or WSAGetLastError | |
static void | SetLastError (int errorCode) |
sets errno or calls WSASetLastError | |
socket-based implementation of NetworkSink
Definition at line 210 of file socketft.h.