Rudiments
Public Member Functions
serversocket Class Reference

Inherits server.

Inherited by inetserversocket, and unixserversocket.

List of all members.

Public Member Functions

 serversocket ()
 serversocket (const serversocket &s)
serversocketoperator= (const serversocket &s)
virtual ~serversocket ()
virtual bool supportsBlockingNonBlockingModes ()
virtual bool useNonBlockingMode () const
virtual bool useBlockingMode () const
bool lingerOnClose (int32_t timeout)
bool dontLingerOnClose ()
bool reuseAddresses ()
bool dontReuseAddresses ()
virtual bool listen (int32_t backlog)
- Public Member Functions inherited from server
 server ()
 server (const server &s)
serveroperator= (const server &s)
virtual ~server ()
virtual bool bind ()=0
virtual filedescriptoraccept ()=0
- Public Member Functions inherited from filedescriptor
 filedescriptor ()
 filedescriptor (const filedescriptor &f)
filedescriptoroperator= (const filedescriptor &f)
virtual ~filedescriptor ()
virtual bool close ()
int32_t getFileDescriptor () const
void setFileDescriptor (int32_t filedesc)
int32_t duplicate () const
bool duplicate (int32_t newfd) const
bool isUsingNonBlockingMode () const
ssize_t write (uint16_t number) const
ssize_t write (uint32_t number) const
ssize_t write (uint64_t number) const
ssize_t write (int16_t number) const
ssize_t write (int32_t number) const
ssize_t write (int64_t number) const
ssize_t write (float number) const
ssize_t write (double number) const
ssize_t write (unsigned char character) const
ssize_t write (char character) const
ssize_t write (bool value) const
ssize_t write (const unsigned char *string) const
ssize_t write (const char *string) const
ssize_t write (const unsigned char *string, size_t size) const
ssize_t write (const char *string, size_t size) const
ssize_t write (const void *buffer, size_t size) const
ssize_t write (uint16_t number, long sec, long usec) const
ssize_t write (uint32_t number, long sec, long usec) const
ssize_t write (uint64_t number, long sec, long usec) const
ssize_t write (int16_t number, long sec, long usec) const
ssize_t write (int32_t number, long sec, long usec) const
ssize_t write (int64_t number, long sec, long usec) const
ssize_t write (float number, long sec, long usec) const
ssize_t write (double number, long sec, long usec) const
ssize_t write (unsigned char character, long sec, long usec) const
ssize_t write (char character, long sec, long usec) const
ssize_t write (bool value, long sec, long usec) const
ssize_t write (const unsigned char *string, long sec, long usec) const
ssize_t write (const char *string, long sec, long usec) const
ssize_t write (const unsigned char *string, size_t size, long sec, long usec) const
ssize_t write (const char *string, size_t size, long sec, long usec) const
ssize_t write (const void *buffer, size_t size, long sec, long usec) const
ssize_t read (uint16_t *buffer) const
ssize_t read (uint32_t *buffer) const
ssize_t read (uint64_t *buffer) const
ssize_t read (int16_t *buffer) const
ssize_t read (int32_t *buffer) const
ssize_t read (int64_t *buffer) const
ssize_t read (float *buffer) const
ssize_t read (double *buffer) const
ssize_t read (unsigned char *buffer) const
ssize_t read (char *buffer) const
ssize_t read (bool *buffer) const
ssize_t read (unsigned char *buffer, size_t size) const
ssize_t read (char *buffer, size_t size) const
ssize_t read (void *buf, size_t size) const
ssize_t read (char **buffer, const char *terminator) const
ssize_t read (uint16_t *buffer, long sec, long usec) const
ssize_t read (uint32_t *buffer, long sec, long usec) const
ssize_t read (uint64_t *buffer, long sec, long usec) const
ssize_t read (int16_t *buffer, long sec, long usec) const
ssize_t read (int32_t *buffer, long sec, long usec) const
ssize_t read (int64_t *buffer, long sec, long usec) const
ssize_t read (float *buffer, long sec, long usec) const
ssize_t read (double *buffer, long sec, long usec) const
ssize_t read (unsigned char *buffer, long sec, long usec) const
ssize_t read (char *buffer, long sec, long usec) const
ssize_t read (bool *buffer, long sec, long usec) const
ssize_t read (unsigned char *buffer, size_t size, long sec, long usec) const
ssize_t read (char *buffer, size_t size, long sec, long usec) const
ssize_t read (void *buf, size_t size, long sec, long usec) const
ssize_t read (char **buffer, const char *terminator, long sec, long usec) const
int32_t waitForNonBlockingRead (long sec, long usec) const
int32_t waitForNonBlockingWrite (long sec, long usec) const
void retryInterruptedReads ()
void dontRetryInterruptedReads ()
void retryInterruptedWrites ()
void dontRetryInterruptedWrites ()
void retryInterruptedWaits ()
void dontRetryInterruptedWaits ()
void retryInterruptedFcntl ()
void dontRetryInterruptedFcntl ()
void retryInterruptedIoctl ()
void dontRetryInterruptedIoctl ()
void allowShortReads ()
void dontAllowShortReads ()
void allowShortWrites ()
void dontAllowShortWrites ()
void useListener (listener *lstnr)
void dontUseListener ()
listenergetListener ()
void useListenerInsideReads ()
void dontUseListenerInsideReads ()
void useListenerInsideWrites ()
void dontUseListenerInsideWrites ()
virtual bool passFileDescriptor (int32_t fd) const
virtual bool receiveFileDescriptor (int32_t *fd) const
void translateByteOrder ()
void dontTranslateByteOrder ()
int32_t fCntl (int32_t command, long arg) const
int32_t ioCtl (int32_t command, void *arg) const
bool useNaglesAlgorithm ()
bool dontUseNaglesAlgorithm ()
bool setTcpWriteBufferSize (int32_t size)
bool getTcpWriteBufferSize (int32_t *size)
bool setTcpReadBufferSize (int32_t size)
bool getTcpReadBufferSize (int32_t *size)
const char * getType () const
char * getPeerAddress () const
bool setWriteBufferSize (ssize_t size) const
bool flushWriteBuffer (long sec, long usec) const
bool setReadBufferSize (ssize_t size) const
bool closeOnExec ()
bool dontCloseOnExec ()
bool getCloseOnExec ()

Detailed Description

The serversocket class provides a base class for classes that implement the server side of a client-server communication model over a socket.


Constructor & Destructor Documentation

serversocket::serversocket ( )

Creates an instance of the serversocket class.

serversocket::serversocket ( const serversocket s)

Creates an instance of the serversocket class that is a copy of "s".

virtual serversocket::~serversocket ( )
virtual

Deletes this instance of the serversocket class.


Member Function Documentation

bool serversocket::dontLingerOnClose ( )

Instructs the socket to close immediately when close() is called, dumping any data that may still be buffered but that it may not have received. This is the default.

Returns true on success and false on failure.

bool serversocket::dontReuseAddresses ( )

Prevents sockets in the TIME_WAIT state from being reused. This is the default.

Returns true on success and false on failure.

bool serversocket::lingerOnClose ( int32_t  timeout)

Instructs the socket to stay open for "timeout" seconds even after close() is called to allow it to receive any data that may still be buffered. The default is not to linger on close.

Returns true on success and false on failure.

virtual bool serversocket::listen ( int32_t  backlog)
virtual

Waits until a client connects then places that connection in queue. Up to "backlog" connections may be queued before future conenctions are refused.

Returns true on success and false on failure.

Implements server.

Reimplemented in unixserversocket, and inetserversocket.

serversocket& serversocket::operator= ( const serversocket s)

Makes this instance of the serversocket class identical to "s".

bool serversocket::reuseAddresses ( )

Allows sockets in the TIME_WAIT state to be reused. The default is to allocate a new socket.

Returns true on success and false on failure.

virtual bool serversocket::supportsBlockingNonBlockingModes ( )
virtual

Returns false if the system doesn't support blocking/nonblocking modes and true otherwise.

virtual bool serversocket::useBlockingMode ( ) const
virtual

Puts the file descriptor in blocking mode. Returns true on success and false on failure. Returns false if the system doesn't support blocking/nonblocking modes.

Reimplemented from filedescriptor.

virtual bool serversocket::useNonBlockingMode ( ) const
virtual

Puts the file descriptor in non-blocking mode. Returns true on success and false on failure. Returns false if the system doesn't support blocking/nonblocking modes.

Reimplemented from filedescriptor.