ost::SimpleTCPStream(3) | Library Functions Manual | ost::SimpleTCPStream(3) |
NAME¶
ost::SimpleTCPStream - Simple TCP Stream, to be used with Common C++ Library.
SYNOPSIS¶
#include <socket.h>
Inherits ost::Socket.
Public Member Functions¶
SimpleTCPStream (TCPSocket &server, size_t
size=512)
Create a TCP stream by accepting a connection from a bound TCP socket acting
as a server. SimpleTCPStream (const IPV4Host &host,
tpport_t port, size_t size=512)
Create a TCP stream by connecting to a TCP socket (on a remote machine).
SimpleTCPStream (const SimpleTCPStream &source)
A copy constructor creates a new stream buffer. virtual
~SimpleTCPStream ()
Flush and empty all buffers, and then remove the allocated buffers. bool
isPending (Pending pend, timeout_t
timeout=TIMEOUT_INF)
Get the status of pending stream data. void flush ()
ssize_t read (char *bytes, size_t length, timeout_t timeout=0)
Read bytes into a buffer. ssize_t write (const char *bytes, size_t
length, timeout_t timeout=0)
Write bytes to buffer. ssize_t peek (char *bytes, size_t length,
timeout_t timeout=0)
Peek at the incoming data.
Protected Member Functions¶
SimpleTCPStream ()
The constructor required for 'SimpleTCPStream', a more C++ style version of
the SimpleTCPStream class. void endStream (void)
Used to terminate the buffer space and cleanup the socket connection. void
Connect (const IPV4Host &host, tpport_t port,
size_t size)
Create a TCP stream by connecting to a TCP socket (on a remote machine).
Additional Inherited Members¶
Detailed Description¶
Simple TCP Stream, to be used with Common C++ Library.
This source is derived from a proposal made by Ville Vainio (vvainio@tp.spt.fi).
Author
Date
Constructor & Destructor Documentation¶
ost::SimpleTCPStream::SimpleTCPStream () [protected]¶
The constructor required for 'SimpleTCPStream', a more C++ style version of the SimpleTCPStream class.
ost::SimpleTCPStream::SimpleTCPStream (TCPSocket & server, size_t size = 512)¶
Create a TCP stream by accepting a connection from a bound TCP socket acting as a server. This performs an 'accept' call.
Parameters
size of streaming input and output buffers.
ost::SimpleTCPStream::SimpleTCPStream (const IPV4Host & host, tpport_t port, size_t size = 512)¶
Create a TCP stream by connecting to a TCP socket (on a remote machine).
Parameters
port number to connect.
size of streaming input and output buffers.
ost::SimpleTCPStream::SimpleTCPStream (const SimpleTCPStream & source)¶
A copy constructor creates a new stream buffer.
Parameters
virtual ost::SimpleTCPStream::~SimpleTCPStream () [virtual]¶
Flush and empty all buffers, and then remove the allocated buffers.
Member Function Documentation¶
void ost::SimpleTCPStream::Connect (const IPV4Host & host, tpport_t port, size_t size) [protected]¶
Create a TCP stream by connecting to a TCP socket (on a remote machine).
Parameters
port number to connect.
size of streaming input and output buffers.
void ost::SimpleTCPStream::endStream (void) [protected]¶
Used to terminate the buffer space and cleanup the socket connection. This fucntion is called by the destructor.
void ost::SimpleTCPStream::flush () [inline]¶
bool ost::SimpleTCPStream::isPending (Pending pend, timeout_t timeout = TIMEOUT_INF) [virtual]¶
Get the status of pending stream data. This method can be used to examine if input or output is waiting, or if an error or disconnect has occured on the stream. If a read buffer contains data then input is ready. If write buffer contains data, it is first flushed and then checked.
Parameters
timeout The length of time to wait.
Reimplemented from ost::Socket.
ssize_t ost::SimpleTCPStream::peek (char * bytes, size_t length, timeout_t timeout = 0)¶
Peek at the incoming data. The data is copied into the buffer but is not removed from the input queue. The function then returns the number of bytes currently pending to receive.
Parameters
length The number of bytes to read (exactly).
timeout Period to time out, in milleseconds.
Returns
ssize_t ost::SimpleTCPStream::read (char * bytes, size_t length, timeout_t timeout = 0)¶
Read bytes into a buffer. <long-description>
Parameters
length The number of bytes to read (exactly).
timeout Period to time out, in milleseconds.
Returns
ssize_t ost::SimpleTCPStream::write (const char * bytes, size_t length, timeout_t timeout = 0)¶
Write bytes to buffer. <long-description>
Parameters
length The number of bytes to write (exactly).
timeout Period to time out, in milleseconds.
Returns
Author¶
Generated automatically by Doxygen for GNU CommonC++ from the source code.
Sun Dec 27 2020 | GNU CommonC++ |