Streamable tcp connection between client and server.
More...
#include <stream.h>
Public Types |
| enum | access_t { RDONLY,
WRONLY,
RDWR
} |
Public Member Functions |
| void | close (void) |
| | Close an active stream connection.
|
| void | open (char *command, access_t access, char **env=((void *) 0), size_t buffering=512) |
| | Open a stream connection to a pipe service.
|
| | operator bool () |
| | See if stream connection is active.
|
| bool | operator! () |
| | See if stream is disconnected.
|
|
| pipestream () |
| | Create an unopened pipe stream.
|
| | pipestream (char *command, access_t access, char **env=((void *) 0), size_t size=512) |
| | Create child process and start pipe.
|
|
void | terminate (void) |
| | Force terminate child and close.
|
|
virtual | ~pipestream () |
| | Destroy a pipe 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 pipe connection.
|
| int | _putch (int ch) |
| | This streambuf method is used to write the output buffer through the established pipe connection.
|
|
void | release (void) |
| | Release the stream, detach/do not wait for the process.
|
|
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 |
|
pid_t | pid |
|
fsys_t | rd |
|
fsys_t | wr |
|
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 230 of file stream.h.
Constructor & Destructor Documentation
| ucommon::pipestream::pipestream |
( |
char * |
command, |
|
|
access_t |
access, |
|
|
char ** |
env = ((void *) 0), |
|
|
size_t |
size = 512 |
|
) |
| |
Create child process and start pipe.
- Parameters:
-
| command | to pass. |
| access | mode of pipe stream. |
| env | to create in child. |
| size | of buffer. |
Member Function Documentation
| int ucommon::pipestream::_getch |
( |
void |
| ) |
|
|
protectedvirtual |
This streambuf method is used to load the input buffer through the established pipe connection.
- Returns:
- char from get buffer, EOF if not connected.
Implements ucommon::CharacterProtocol.
| int ucommon::pipestream::_putch |
( |
int |
ch | ) |
|
|
protectedvirtual |
This streambuf method is used to write the output buffer through the established pipe connection.
- Parameters:
-
- Returns:
- char pushed through.
Implements ucommon::CharacterProtocol.
| void ucommon::pipestream::close |
( |
void |
| ) |
|
Close an active stream connection.
This waits for the child to terminate.
| void ucommon::pipestream::open |
( |
char * |
command, |
|
|
access_t |
access, |
|
|
char ** |
env = ((void *) 0), |
|
|
size_t |
buffering = 512 |
|
) |
| |
Open a stream connection to a pipe service.
- Parameters:
-
| command | to execute. |
| access | mode of stream. |
| env | to create in child process. |
| buffering | size to use. |
| ucommon::pipestream::operator bool |
( |
| ) |
|
|
inline |
| bool ucommon::pipestream::operator! |
( |
| ) |
|
|
inline |
The documentation for this class was generated from the following file: