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).
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:
- Mark S. Millard (msm@wizzer.com)
- Date:
- 2002-08-15 Copyright (C) 2002 Wizzer Works.
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:
server bound server tcp socket.
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:
host address of remote TCP server.
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:
source A reference to the SimpleTCPStream to copy.
- virtual ost::SimpleTCPStream::~SimpleTCPStream () [virtual]
- Flush and empty all buffers, and then remove the allocated buffers.
Member Function Documentation
- 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::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:
host address of remote TCP server.
port number to connect.
size of streaming input and output buffers. - 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:
pend Flag indicating means to pend.
timeout The length of time to wait. - Reimplemented from ost::Socket.
- void ost::SimpleTCPStream::flush () [inline] ssize_t ost::SimpleTCPStream::read (char * bytes, size_t length, timeout_t
- timeout = 0)
Read bytes into a buffer. - <long-description>
- Parameters:
bytes A pointer to buffer that will contain the bytes read. length The number of bytes to read (exactly).
timeout Period to time out, in milleseconds. - Returns:
The number of bytes actually read, 0 on EOF.
- ssize_t ost::SimpleTCPStream::write (const char * bytes, size_t length,
- timeout_t timeout = 0)
Write bytes to buffer. - <long-description>
- Parameters:
bytes A pointer to a buffer containing the bytes to write. length The number of bytes to write (exactly).
timeout Period to time out, in milleseconds. - Returns:
The number of bytes actually written.
- 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:
bytes A pointer to buffer that will contain the bytes read. length The number of bytes to read (exactly).
timeout Period to time out, in milleseconds. - Returns:
The number of bytes pending on the input queue, 0 on EOF.
Author
- Generated automatically by Doxygen for GNU CommonC++ from the source
code.