libcommonc++  0.7
StreamSocket Class Reference

A reliable, connection-oriented stream (TCP) socket. More...

#include <StreamSocket.h++>

Inheritance diagram for StreamSocket:
Collaboration diagram for StreamSocket:

Public Member Functions

 StreamSocket (uint16_t port=0)
 Construct a new StreamSocket. More...
 
 ~StreamSocket ()
 Destructor. More...
 
void connect (const String &addr, uint16_t port)
 Connect the socket to a remote endpoint. More...
 
void connect (const SocketAddress &addr)
 Connect the socket to a remote endpoint. More...
 
size_t read (byte_t *buffer, size_t buflen)
 Read data from the stream into a raw buffer. More...
 
size_t write (const byte_t *buffer, size_t buflen)
 Write data to the stream from a raw buffer, until either the entire buffer is written or an error or timeout occurs. More...
 
size_t read (ByteBuffer &buffer)
 Read data from the stream into a ByteBuffer. More...
 
size_t write (ByteBuffer &buffer)
 Write data to the stream from a ByteBuffer. More...
 
size_t read (CharBuffer &buffer)
 Read data from the stream into a CharBuffer. More...
 
size_t write (CharBuffer &buffer)
 Write data to the stream from a CharBuffer. More...
 
size_t read (byte_t *buffer, size_t buflen, int64_t offset, AsyncIOTask &task)
 
size_t write (const byte_t *buffer, size_t buflen, int64_t offset, AsyncIOTask &task)
 
size_t read (ByteBuffer &buffer, int64_t offset, AsyncIOTask &task)
 
size_t write (ByteBuffer &buffer, int64_t offset, AsyncIOTask &task)
 
size_t read (MemoryBlock *vec, uint_t count)
 Read data from the stream into a series of I/O buffers. More...
 
size_t write (const MemoryBlock *vec, uint_t count)
 Write data to the stream from a series of I/O buffers. More...
 
byte_t readOOB ()
 Read a byte of out-of-band data from the socket. More...
 
void writeOOB (byte_t data)
 Write a byte of out-of-band data to the socket. More...
 
void close (IOMode mode=IOReadWrite)
 Close the stream for reading, writing, or both. More...
 
virtual void shutdown ()
 Shut down the socket. More...
 
void setTimeout (timespan_ms_t timeout)
 Set the stream I/O timeout, in milliseconds. More...
 
template<typename T >
size_t read (Buffer< T > &buffer, size_t &partial)
 Read data from the stream into a Buffer of arbitrary type. More...
 
template<typename T >
size_t write (Buffer< T > &buffer, size_t &partial)
 Write data to the stream from a Buffer of arbitrary type. More...
 
virtual size_t readFully (ByteBuffer &buffer, size_t count=0)
 Read data from the stream into a ByteBuffer, until either the buffer is full or an error or timeout occurs. More...
 
virtual size_t readFully (CharBuffer &buffer, size_t count=0)
 Read data from the stream into a CharBuffer, until either the buffer is full or an error or timeout occurs. More...
 
template<typename T >
size_t readFully (Buffer< T > &buffer, size_t &partial)
 Read data from the stream into a Buffer of arbitrary type, until either the buffer is full or an error or timeout occurs. More...
 
virtual size_t readFully (byte_t *buffer, size_t buflen)
 Read data from the stream into a raw buffer, until either the buffer is full or an error or timeout occurs. More...
 
virtual size_t writeFully (ByteBuffer &buffer)
 Write data to the stream from a ByteBuffer, until either the entire buffer is written or an error or timeout occurs. More...
 
virtual size_t writeFully (CharBuffer &buffer)
 Write data to the stream from a CharBuffer, until either the entire buffer is written or an error or timeout occurs. More...
 
template<typename T >
size_t writeFully (Buffer< T > &buffer, size_t &partial)
 Write data to the stream from a Buffer of arbitrary type, until either the entire buffer is written or an error or timeout occurs. More...
 
virtual size_t writeFully (const byte_t *buffer, size_t buflen)
 Write data to the stream from a raw buffer. More...
 
virtual int64_t seek (int64_t offset, SeekMode mode=SeekAbsolute)
 Reposition the seek pointer in the stream. More...
 
virtual int64_t tell ()
 Get the current (absolute) offset of the seek pointer. More...
 
bool isOpen () const
 Test if the stream is open. More...
 
bool isSeekable () const
 Test if the stream supports seeking. More...
 
bool isReadable () const
 Test if the stream can be read from. More...
 
bool isWritable () const
 Test if the stream can be written to. More...
 
bool isFullDuplex () const
 Test if the stream is full-duplex (i.e., supports both reading and writing). More...
 
bool isHalfDuplex () const
 Test if the stream is half-duplex (i.e., supports either reading or writing, but not both). More...
 
timespan_ms_t getTimeout () const
 Get the stream I/O timeout, in milliseconds. More...
 
virtual void init ()
 Initialize the socket. More...
 
void setReceiveBufSize (size_t size)
 Set the size of the socket's internal receive buffer. More...
 
size_t getReceiveBufSize () const
 Get the size of the socket's internal receive buffer. More...
 
void setSendBufSize (size_t size)
 Set the size of the socket's internal send buffer. More...
 
size_t getSendBufSize () const
 Get the size of the socket's internal send buffer. More...
 
void setLingerTime (timespan_s_t timeout)
 Set the linger time for the socket. More...
 
timespan_s_t getLingerTime () const
 Get the linger time for the socket. More...
 
void setReuseAddress (bool enable)
 Enable or disable the SO_REUSEADDR option on the socket. More...
 
bool getReuseAddress () const
 Determine if the SO_REUSEADDR option is enabled or disabled. More...
 
void setKeepAlive (bool enable)
 Enable or disable the SO_KEEPALIVE option on the socket. More...
 
bool getKeepAlive ()
 Determine if the SO_KEEPALIVE option is enabled or disabled. More...
 
void setTCPDelay (bool enable)
 Enable or disable the Nagle algorithm for send coalescing. More...
 
bool getTCPDelay ()
 Determine if the Nagle algorithm is enabled or disabled. More...
 
bool isInitialized () const
 Determine if the socket has been initialized. More...
 
bool isConnected () const
 Determine if the socket is connected. More...
 
NetProtocol getType () const
 Get the socket type. More...
 
const SocketAddressgetLocalAddress () const
 Get the address of the local end of the socket. More...
 
const SocketAddressgetRemoteAddress () const
 Get the address of the remote (peer) end of the socket. More...
 

Static Public Attributes

static const uint_t MAX_IOBLOCK_COUNT = 16
 The maximum number of I/O buffers that can be passed to the vector I/O methods. More...
 

Protected Types

enum  IOWaitMode { WaitWrite, WaitRead }
 

Protected Member Functions

void _init (FileHandle handle, bool seekable, bool readable, bool writable)
 Initialize the stream for use with an open file. More...
 
SocketHandle getSocketHandle () const
 Get the underlying socket handle for this socket. More...
 
void waitForIO (IOWaitMode mode)
 Wait for the socket to become ready for reading or writing. More...
 

Protected Attributes

NetProtocol _type
 The socket type. More...
 
SocketHandle _socket
 A handle to the socket itself. More...
 
SocketAddress _raddr
 The remote address. More...
 
SocketAddress _laddr
 The local address. More...
 
int _sotimeout
 The timeout value. More...
 

Friends

class ServerSocket
 

Detailed Description

A reliable, connection-oriented stream (TCP) socket.

Author
Mark Lindner

Member Enumeration Documentation

◆ IOWaitMode

enum IOWaitMode
protectedinherited
Enumerator
WaitWrite 
WaitRead 

Constructor & Destructor Documentation

◆ StreamSocket()

StreamSocket ( uint16_t  port = 0)

Construct a new StreamSocket.

Parameters
portThe local port to bind to, or 0 to bind to an arbitrary port.

◆ ~StreamSocket()

Destructor.

Member Function Documentation

◆ _init()

void _init ( FileHandle  handle,
bool  seekable,
bool  readable,
bool  writable 
)
protectedinherited

Initialize the stream for use with an open file.

Parameters
handleThe handle to an open file.
seekableA flag indicating whether the stream is seekable.
readableA flag indicating whether the stream is readable.
writableA flag indicating whether the stream is writable.

◆ close()

void close ( IOMode  mode = IOReadWrite)
virtual

Close the stream for reading, writing, or both.

Parameters
modeThe close mode.

Reimplemented from Stream.

◆ connect() [1/2]

void connect ( const String addr,
uint16_t  port 
)
virtual

Connect the socket to a remote endpoint.

Note that if this call fails, the socket will revert to an uninitialized state; call init() again to reuse the socket.

Parameters
addrThe address, which may either be a dot-separated IP address or a DNS name.
portThe port number.
Exceptions
IOExceptionIf an error occurs.

Reimplemented from Socket.

◆ connect() [2/2]

void connect ( const SocketAddress addr)
virtual

Connect the socket to a remote endpoint.

Note that if this call fails, the socket will revert to an uninitialized state; call init() again to reuse the socket.

Parameters
addrThe address.
Exceptions
IOExceptionIf an error occurs.

Reimplemented from Socket.

◆ getKeepAlive()

bool getKeepAlive ( )
inherited

Determine if the SO_KEEPALIVE option is enabled or disabled.

Returns
true if the option is enabled, false otherwise.
Exceptions
SocketExceptionIf a socket error occurs.

◆ getLingerTime()

timespan_s_t getLingerTime ( ) const
inherited

Get the linger time for the socket.

Returns
The linger time, in seconds, or -1 if the feature is disabled.
Exceptions
SocketExceptionIf the linger time could not be retrieved.

◆ getLocalAddress()

const SocketAddress& getLocalAddress ( ) const
inlineinherited

Get the address of the local end of the socket.

◆ getReceiveBufSize()

size_t getReceiveBufSize ( ) const
inherited

Get the size of the socket's internal receive buffer.

Returns
The size, in bytes.
Exceptions
SocketExceptionIf the size could not be changed.

◆ getRemoteAddress()

const SocketAddress& getRemoteAddress ( ) const
inlineinherited

Get the address of the remote (peer) end of the socket.

◆ getReuseAddress()

bool getReuseAddress ( ) const
inherited

Determine if the SO_REUSEADDR option is enabled or disabled.

Returns
true if the option is enabled, false otherwise.
Exceptions
SocketExceptionIf a socket error occurs.

◆ getSendBufSize()

size_t getSendBufSize ( ) const
inherited

Get the size of the socket's internal send buffer.

Returns
The size, in bytes.
Exceptions
SocketExceptionIf the size could not be changed.

◆ getSocketHandle()

SocketHandle getSocketHandle ( ) const
inlineprotectedinherited

Get the underlying socket handle for this socket.

◆ getTCPDelay()

bool getTCPDelay ( )
inherited

Determine if the Nagle algorithm is enabled or disabled.

Returns
true if the Nagle algorithm is enabled (TCP_NODELAY off), false otherwise.
Exceptions
SocketExceptionIf a socket error occurs.

◆ getTimeout()

timespan_ms_t getTimeout ( ) const
inlineinherited

Get the stream I/O timeout, in milliseconds.

◆ getType()

NetProtocol getType ( ) const
inlineinherited

Get the socket type.

◆ init()

void init ( )
virtualinherited

Initialize the socket.

This method creates the underlying socket object.

Exceptions
SocketExceptionIf the socket could not be created.

Reimplemented in ServerSocket.

◆ isConnected()

bool isConnected ( ) const
inlineinherited

Determine if the socket is connected.

◆ isFullDuplex()

bool isFullDuplex ( ) const
inlineinherited

Test if the stream is full-duplex (i.e., supports both reading and writing).

◆ isHalfDuplex()

bool isHalfDuplex ( ) const
inlineinherited

Test if the stream is half-duplex (i.e., supports either reading or writing, but not both).

◆ isInitialized()

bool isInitialized ( ) const
inlineinherited

Determine if the socket has been initialized.

◆ isOpen()

bool isOpen ( ) const
inlineinherited

Test if the stream is open.

◆ isReadable()

bool isReadable ( ) const
inlineinherited

Test if the stream can be read from.

◆ isSeekable()

bool isSeekable ( ) const
inlineinherited

Test if the stream supports seeking.

◆ isWritable()

bool isWritable ( ) const
inlineinherited

Test if the stream can be written to.

◆ read() [1/7]

size_t read ( byte_t buffer,
size_t  buflen 
)
virtual

Read data from the stream into a raw buffer.

Parameters
bufferThe buffer to read into.
buflenThe number of bytes to read.
Returns
The number of bytes actually read.
Exceptions
IOExceptionIf the end-of-file was reached or some other I/O error occurred.

Reimplemented from Stream.

◆ read() [2/7]

size_t read ( ByteBuffer buffer)
inlinevirtual

Read data from the stream into a ByteBuffer.

Parameters
bufferThe buffer to read into.
Returns
The number of bytes actually read.
Exceptions
IOExceptionIf the end-of-file was reached or some other I/O error occurred.

Reimplemented from Stream.

◆ read() [3/7]

size_t read ( CharBuffer buffer)
inlinevirtual

Read data from the stream into a CharBuffer.

Parameters
bufferThe buffer to read into.
Returns
The number of characters actually read.
Exceptions
IOExceptionIf the end-of-file was reached or some other I/O error occurred.

Reimplemented from Stream.

◆ read() [4/7]

size_t read ( byte_t buffer,
size_t  buflen,
int64_t  offset,
AsyncIOTask task 
)
inline

◆ read() [5/7]

size_t read ( ByteBuffer buffer,
int64_t  offset,
AsyncIOTask task 
)
inline

◆ read() [6/7]

size_t read ( MemoryBlock vec,
uint_t  count 
)
virtual

Read data from the stream into a series of I/O buffers.

This operation is known as "vector read" or "scatter read." The buffers are read into in order. On systems that support it, the operation is performed with a single system call.

Parameters
vecAn array of buffers to read into.
countThe number of buffers in the array.
Exceptions
IOExceptionIf the end-of-file was reached or some other I/O error occurred.

Reimplemented from Stream.

◆ read() [7/7]

size_t read ( Buffer< T > &  buffer,
size_t &  partial 
)
inlineinherited

Read data from the stream into a Buffer of arbitrary type.

If sizeof(T) is greater than 1 byte, then there can be no guarantee that the number of bytes read before a timeout or error occurs will be evenly divisible by sizeof(T). If the final element was partially read, the number of bytes of the element that were read will be stored in partial; this value should be passed unmodified to the next invocation of this method to continue reading from the appropriate offset within the partially-read element.

Parameters
bufferThe buffer to read into.
partialThe number of bytes remaining to read for a partially-read element; on return, the number of bytes read of a partially-read element, or 0 if the last element was read completely. Should be set to 0 prior to the first call to this method for a fresh buffer.
Returns
The number of whole elements actually read.
Exceptions
IOExceptionIf the end-of-file was reached or some other I/O error occurred.

◆ readFully() [1/4]

size_t readFully ( ByteBuffer buffer,
size_t  count = 0 
)
virtualinherited

Read data from the stream into a ByteBuffer, until either the buffer is full or an error or timeout occurs.

Parameters
bufferThe buffer to read into.
countThe number of bytes to read. If 0 or greater than the number of bytes between the position and the limit, reads up to the limit.
Returns
The number of bytes actually read.
Exceptions
IOExceptionIf the end-of-file was reached or some other I/O error occurred.

◆ readFully() [2/4]

size_t readFully ( CharBuffer buffer,
size_t  count = 0 
)
virtualinherited

Read data from the stream into a CharBuffer, until either the buffer is full or an error or timeout occurs.

Parameters
bufferThe buffer to read into.
countThe number of characters to read. If 0 or greater than the number of bytes between the position and the limit, reads up to the limit.
Returns
The number of bytes actually read.
Exceptions
IOExceptionIf the end-of-file was reached or some other I/O error occurred.

◆ readFully() [3/4]

size_t readFully ( Buffer< T > &  buffer,
size_t &  partial 
)
inlineinherited

Read data from the stream into a Buffer of arbitrary type, until either the buffer is full or an error or timeout occurs.

If sizeof(T) is greater than 1 byte, then there can be no guarantee that the number of bytes read before a timeout or error occurs will be evenly divisible by sizeof(T). If the final element was partially read, the number of bytes of the element that were read will be stored in partial; this value should be passed unmodified to the next invocation of this method to continue reading from the appropriate offset within the partially-read element.

Parameters
bufferThe buffer to read into.
partialThe number of bytes remaining to read for a partially-read element; on return, the number of bytes read of a partially-read element, or 0 if the last element was read completely. Should be set to 0 prior to the first call to this method for a fresh buffer.
Returns
The number of whole elements actually read.
Exceptions
IOExceptionIf the end-of-file was reached or some other I/O error occurred.

◆ readFully() [4/4]

size_t readFully ( byte_t buffer,
size_t  buflen 
)
virtualinherited

Read data from the stream into a raw buffer, until either the buffer is full or an error or timeout occurs.

Parameters
bufferThe buffer to read into.
buflenThe number of bytes to read.
Returns
The number of bytes actually read.
Exceptions
IOExceptionIf the end-of-file was reached or some other I/O error occurred.

◆ readOOB()

byte_t readOOB ( )

Read a byte of out-of-band data from the socket.

Returns
The byte of OOB data that was read.
Exceptions
IOExceptionIf an I/O error occurs.

◆ seek()

int64_t seek ( int64_t  offset,
SeekMode  mode = SeekAbsolute 
)
virtualinherited

Reposition the seek pointer in the stream.

Parameters
offsetThe new offset.
modeThe seek mode.
Returns
The new position of the seek pointer.
Exceptions
IOExceptionIf the stream does not support seeking, or if some other I/O error occurred.

◆ setKeepAlive()

void setKeepAlive ( bool  enable)
inherited

Enable or disable the SO_KEEPALIVE option on the socket.

Parameters
enabletrue to enable the option false to disable it.
Exceptions
SocketExceptionIf a socket error occurs.

◆ setLingerTime()

void setLingerTime ( timespan_s_t  timeout)
inherited

Set the linger time for the socket.

Parameters
timeoutThe new linger time, in seconds; a negative value disables the linger feature.
Exceptions
SocketExceptionIf the linger time could not be changed.

◆ setReceiveBufSize()

void setReceiveBufSize ( size_t  size)
inherited

Set the size of the socket's internal receive buffer.

Parameters
sizeThe new size, in bytes.
Exceptions
SocketExceptionIf the size could not be changed.

◆ setReuseAddress()

void setReuseAddress ( bool  enable)
inherited

Enable or disable the SO_REUSEADDR option on the socket.

This method may only be called before the socket has been initialized. This option is off by default in newly created sockets.

Parameters
enabletrue to enable the option false to disable it.
Exceptions
SocketExceptionIf a socket error occurs, or if the call was made after the socket was initialized.

◆ setSendBufSize()

void setSendBufSize ( size_t  size)
inherited

Set the size of the socket's internal send buffer.

Parameters
sizeThe new size, in bytes.
Exceptions
SocketExceptionIf the size could not be changed.

◆ setTCPDelay()

void setTCPDelay ( bool  enable)
inherited

Enable or disable the Nagle algorithm for send coalescing.

Parameters
enabletrue to enable the Nagle algorithm (TCP_NODELAY off), false to disable it (TCP_NODELAY on).
Exceptions
SocketExceptionIf a socket error occurs.

◆ setTimeout()

void setTimeout ( timespan_ms_t  timeout)
virtual

Set the stream I/O timeout, in milliseconds.

A timeout of 0 indicates no timeout, and a timeout of -1 indicates infinite timeout (blocking I/O).

Reimplemented from Stream.

◆ shutdown()

void shutdown ( )
virtual

Shut down the socket.

Closes the connection and destroys the underlying socket object.

Reimplemented from Socket.

◆ tell()

int64_t tell ( )
virtualinherited

Get the current (absolute) offset of the seek pointer.

Returns
The current offset, from the beginning of the stream.
Exceptions
IOExceptionIf the stream does not support seeking, or if some other I/O error occurred.

◆ waitForIO()

void waitForIO ( IOWaitMode  mode)
protectedinherited

Wait for the socket to become ready for reading or writing.

Parameters
modeThe wait mode; one of WaitWrite or WaitRead.
Exceptions
IOExceptionOn timeout or other error.

◆ write() [1/7]

size_t write ( const byte_t buffer,
size_t  buflen 
)
virtual

Write data to the stream from a raw buffer, until either the entire buffer is written or an error or timeout occurs.

Parameters
bufferA pointer to the buffer.
buflenThe number of bytes to write.
Returns
The number of bytes actually written.
Exceptions
IOExceptionIf an I/O error occurred.

Reimplemented from Stream.

◆ write() [2/7]

size_t write ( ByteBuffer buffer)
inlinevirtual

Write data to the stream from a ByteBuffer.

Parameters
bufferThe buffer to write.
Returns
The number of bytes actually written.
Exceptions
IOExceptionIf an I/O error occurred.

Reimplemented from Stream.

◆ write() [3/7]

size_t write ( CharBuffer buffer)
inlinevirtual

Write data to the stream from a CharBuffer.

Parameters
bufferThe buffer to write.
Returns
The number of characters actually written.
Exceptions
IOExceptionIf an I/O error occurred.

Reimplemented from Stream.

◆ write() [4/7]

size_t write ( const byte_t buffer,
size_t  buflen,
int64_t  offset,
AsyncIOTask task 
)
inline

◆ write() [5/7]

size_t write ( ByteBuffer buffer,
int64_t  offset,
AsyncIOTask task 
)
inline

◆ write() [6/7]

size_t write ( const MemoryBlock vec,
uint_t  count 
)
virtual

Write data to the stream from a series of I/O buffers.

This operation is known as "vector write" or "gather write." The buffers are written in order. On systems that support it, the operation is performed with a single system call.

Parameters
vecAn array of buffers to write.
countThe number of buffers in the array.
Exceptions
IOExceptionIf an I/O error occurred.

Reimplemented from Stream.

◆ write() [7/7]

size_t write ( Buffer< T > &  buffer,
size_t &  partial 
)
inlineinherited

Write data to the stream from a Buffer of arbitrary type.

If sizeof(T) is greater than 1 byte, then there can be no guarantee that the number of bytes written before a timeout or error occurs will be evenly divisible by sizeof(T). If the final element was partially written, the number of bytes of the element that were written will be stored in partial; this value should be passed unmodified to the next invocation of this method to continue writing from the appropriate offset within the partially-written element.

Parameters
bufferThe buffer to write.
partialThe number of bytes remaining to write for a partially-written element; on return, the number of bytes written of a partially-written element, or 0 if the last element was written completely. Should be set to 0 prior to the first call to this method for a fresh buffer.
Returns
The number of whole elements actually written.
Exceptions
IOExceptionIf an I/O error occurred.

◆ writeFully() [1/4]

size_t writeFully ( ByteBuffer buffer)
virtualinherited

Write data to the stream from a ByteBuffer, until either the entire buffer is written or an error or timeout occurs.

Parameters
bufferThe buffer to write.
Returns
The number of bytes actually written.
Exceptions
IOExceptionIf and I/O error occurred.

◆ writeFully() [2/4]

size_t writeFully ( CharBuffer buffer)
virtualinherited

Write data to the stream from a CharBuffer, until either the entire buffer is written or an error or timeout occurs.

Parameters
bufferThe buffer to write.
Returns
The number of bytes actually written.
Exceptions
IOExceptionIf an I/O error occurred.

◆ writeFully() [3/4]

size_t writeFully ( Buffer< T > &  buffer,
size_t &  partial 
)
inlineinherited

Write data to the stream from a Buffer of arbitrary type, until either the entire buffer is written or an error or timeout occurs.

If sizeof(T) is greater than 1 byte, then there can be no guarantee that the number of bytes written before a timeout or error occurs will be evenly divisible by sizeof(T). If the final element was partially written, the number of bytes of the element that were written will be stored in partial; this value should be passed unmodified to the next invocation of this method to continue writing from the appropriate offset within the partially-written element.

Parameters
bufferThe buffer to write.
partialThe number of bytes remaining to write for a partially-written element; on return, the number of bytes written of a partially-written element, or 0 if the last element was written completely. Should be set to 0 prior to the first call to this method for a fresh buffer.
Returns
The number of whole elements actually written.
Exceptions
IOExceptionIf an I/O error occurred.

◆ writeFully() [4/4]

size_t writeFully ( const byte_t buffer,
size_t  buflen 
)
virtualinherited

Write data to the stream from a raw buffer.

Parameters
bufferA pointer to the buffer.
buflenThe number of bytes to write.
Returns
The number of bytes actually written.
Exceptions
IOExceptionIf an I/O error occurred.

◆ writeOOB()

void writeOOB ( byte_t  data)

Write a byte of out-of-band data to the socket.

Parameters
dataThe byte of OOB data to write.
Exceptions
IOExceptionIf an I/O error occurs.

Friends And Related Function Documentation

◆ ServerSocket

friend class ServerSocket
friend

Member Data Documentation

◆ _laddr

SocketAddress _laddr
protectedinherited

The local address.

◆ _raddr

SocketAddress _raddr
protectedinherited

The remote address.

◆ _socket

SocketHandle _socket
protectedinherited

A handle to the socket itself.

◆ _sotimeout

int _sotimeout
protectedinherited

The timeout value.

◆ _type

NetProtocol _type
protectedinherited

The socket type.

◆ MAX_IOBLOCK_COUNT

const uint_t MAX_IOBLOCK_COUNT = 16
staticinherited

The maximum number of I/O buffers that can be passed to the vector I/O methods.


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