ucommon
|
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 (const char *command, access_t access, const char **env=NULL, size_t buffering=512) |
Open a stream connection to a pipe service. | |
operator bool () const | |
See if stream connection is active. | |
bool | operator! () const |
See if stream is disconnected. | |
pipestream () | |
Create an unopened pipe stream. | |
pipestream (const char *command, access_t access, const char **env=NULL, size_t size=512) | |
Create child process and start pipe. | |
void | terminate (void) |
Force terminate child and close. | |
virtual | ~pipestream () |
Destroy a pipe stream. | |
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. | |
Protected Attributes | |
pid_t | pid |
fsys_t | rd |
fsys_t | wr |
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.
pipestream::pipestream | ( | const char * | command, |
access_t | access, | ||
const char ** | env = NULL , |
||
size_t | size = 512 |
||
) |
Create child process and start pipe.
command | to pass. |
access | mode of pipe stream. |
env | to create in child. |
size | of buffer. |
int pipestream::_getch | ( | void | ) | [protected, virtual] |
This streambuf method is used to load the input buffer through the established pipe connection.
Implements CharacterProtocol.
int pipestream::_putch | ( | int | ch | ) | [protected, virtual] |
This streambuf method is used to write the output buffer through the established pipe connection.
ch | char to push through. |
Implements CharacterProtocol.
void pipestream::close | ( | void | ) |
Close an active stream connection.
This waits for the child to terminate.
void pipestream::open | ( | const char * | command, |
access_t | access, | ||
const char ** | env = NULL , |
||
size_t | buffering = 512 |
||
) |
Open a stream connection to a pipe service.
command | to execute. |
access | mode of stream. |
env | to create in child process. |
buffering | size to use. |
pipestream::operator bool | ( | ) | const [inline] |
bool pipestream::operator! | ( | ) | const [inline] |