Streamable tcp connection between client and server.
More...
#include <stream.h>
Public Member Functions |
void | close (void) |
| Close an active stream connection.
|
void | open (Socket::address &address, unsigned segment=536) |
| Open a stream connection to a tcp service.
|
void | open (char *host, char *service, unsigned segment=536) |
| Open a stream connectoion to a host and service.
|
| operator bool () |
| See if stream connection is active.
|
bool | operator! () |
| See if stream is disconnected.
|
| tcpstream (tcpstream ©) |
| Copy constructor...
|
| tcpstream (TCPServer *server, unsigned segsize=536, timeout_t timeout=0) |
| Create a stream from an existing tcp listener.
|
| tcpstream (int family=PF_INET, timeout_t timeout=0) |
| Create an unconnected tcp stream object that is idle until opened.
|
| tcpstream (Socket::address &address, unsigned segsize=536, timeout_t timeout=0) |
| A convenience constructor that creates a connected tcp stream directly from an address.
|
virtual | ~tcpstream () |
| Destroy a tcp stream.
|
bool | is_open (void) |
int | sync (void) |
| Flush the stream input and output buffers, writes pending output.
|
int | get (void) |
| Get the next character.
|
int | put (int code) |
| Put the next character.
|
Protected Member Functions |
int | _getch (void) |
| This streambuf method is used to load the input buffer through the established tcp socket connection.
|
int | _putch (int ch) |
| This streambuf method is used to write the output buffer through the established tcp connection.
|
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) |
void | release (void) |
| Release the tcp stream and destroy the underlying socket.
|
void | allocate (size_t size) |
int | overflow (int code) |
int | uflow () |
| This streambuf method is used for doing unbuffered reads through the establish tcp socket connection when in interactive mode.
|
int | underflow () |
Protected Attributes |
socket_t | so |
timeout_t | timeout |
size_t | bufsize |
char * | gbuf |
char * | pbuf |
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.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 109 of file stream.h.
Constructor & Destructor Documentation
ucommon::tcpstream::tcpstream |
( |
tcpstream & |
copy | ) |
|
Copy constructor...
- Parameters:
-
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 = PF_INET , |
|
|
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. |
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
int ucommon::tcpstream::_getch |
( |
void |
| ) |
|
|
protectedvirtual |
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.
Implements ucommon::CharacterProtocol.
int ucommon::tcpstream::_putch |
( |
int |
ch | ) |
|
|
protectedvirtual |
This streambuf method is used to write the output buffer through the established tcp connection.
- Parameters:
-
- Returns:
- char pushed through.
Implements ucommon::CharacterProtocol.
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 |
( |
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. |
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. |
ucommon::tcpstream::operator bool |
( |
| ) |
|
|
inline |
bool ucommon::tcpstream::operator! |
( |
| ) |
|
|
inline |
The documentation for this class was generated from the following file: