ucommon::tcpstream Class Reference

Streamable tcp connection between client and server. More...

#include <stream.h>

Inheritance diagram for ucommon::tcpstream:

Inheritance graph
[legend]
Collaboration diagram for ucommon::tcpstream:

Collaboration graph
[legend]

Public Member Functions

void close (void)
 Close an active stream connection.
void open (char *host, char *service, unsigned segment=536)
 Open a stream connectoion to a host and service.
void open (Socket::address &address, unsigned segment=536)
 Open a stream connection to a tcp service.
 operator bool ()
 See if stream connection is active.
bool operator! ()
 See if stream is disconnected.
 tcpstream (Socket::address &address, unsigned segsize=536, timeout_t timeout=0)
 A convenience constructor that creates a connected tcp stream directly from an address.
 tcpstream (int family=2, timeout_t timeout=0)
 Create an unconnected tcp stream object that is idle until opened.
 tcpstream (TCPServer *server, unsigned segsize=536, timeout_t timeout=0)
 Create a stream from an existing tcp listener.
 tcpstream (tcpstream &copy)
 Copy constructor.
virtual ~tcpstream ()
 Destroy a tcp stream.

Protected Member Functions

virtual ssize_t _read (char *buffer, size_t size)
virtual bool _wait (void)
virtual ssize_t _write (char *buffer, size_t size)
socket_t getsocket (void)
int overflow (int ch)
 This streambuf method is used to write the output buffer through the established tcp connection.
void release (void)
 Release the tcp stream and destroy the underlying socket.
int underflow (void)
 This streambuf method is used to load the input buffer through the established tcp socket connection.

Protected Attributes

socket_t so
timeout_t timeout

Detailed Description

Streamable tcp connection between client and server.

The tcp stream class can represent a client connection to a server or an instance of a service generated by a tcp listener. As a stream class, data can be manipulated using the << and >> operators.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 109 of file stream.h.


Constructor & Destructor Documentation

ucommon::tcpstream::tcpstream ( tcpstream copy  ) 

Copy constructor.

..

Parameters:
copy for object.

ucommon::tcpstream::tcpstream ( TCPServer server,
unsigned  segsize = 536,
timeout_t  timeout = 0 
)

Create a stream from an existing tcp listener.

Parameters:
server to accept connection from.
segsize for tcp segments and buffering.
timeout for socket i/o operations.

ucommon::tcpstream::tcpstream ( int  family = 2,
timeout_t  timeout = 0 
)

Create an unconnected tcp stream object that is idle until opened.

Parameters:
family of protocol to create.
timeout for socket i/o operations.

ucommon::tcpstream::tcpstream ( Socket::address address,
unsigned  segsize = 536,
timeout_t  timeout = 0 
)

A convenience constructor that creates a connected tcp stream directly from an address.

The socket is constructed to match the type of the the address family in the socket address that is passed.

Parameters:
address of service to connect to.
segsize for tcp segments and buffering.
timeout for socket i/o operations.


Member Function Documentation

void ucommon::tcpstream::close ( void   ) 

Close an active stream connection.

This does not release the socket but is a disconnect.

Reimplemented in ucommon::sstream.

void ucommon::tcpstream::open ( char *  host,
char *  service,
unsigned  segment = 536 
)

Open a stream connectoion to a host and service.

Parameters:
host to connect to.
service to connect to by name or number as string.
segment buffering size to use.

void ucommon::tcpstream::open ( Socket::address address,
unsigned  segment = 536 
)

Open a stream connection to a tcp service.

Parameters:
address of service to access.
segment buffering size to use.

ucommon::tcpstream::operator bool (  )  [inline]

See if stream connection is active.

Returns:
true if stream is active.

Reimplemented from ucommon::StreamBuffer.

Definition at line 190 of file stream.h.

References INVALID_SOCKET.

bool ucommon::tcpstream::operator! (  )  [inline]

See if stream is disconnected.

Returns:
true if stream disconnected.

Reimplemented from ucommon::StreamBuffer.

Definition at line 197 of file stream.h.

References INVALID_SOCKET.

int ucommon::tcpstream::overflow ( int  ch  )  [protected]

This streambuf method is used to write the output buffer through the established tcp connection.

Parameters:
ch char to push through.
Returns:
char pushed through.

int ucommon::tcpstream::underflow ( void   )  [protected]

This streambuf method is used to load the input buffer through the established tcp socket connection.

Returns:
char from get buffer, EOF if not connected.


The documentation for this class was generated from the following file:
Generated on 14 Aug 2013 for UCommon by  doxygen 1.4.7