Streamable tcp connection between client and server. More...
#include <stream.h>
Public Types | |
enum | access_t { RDONLY, WRONLY, RDWR } |
Public Member Functions | |
void | cancel (void) |
int | close (void) |
Close an active stream connection. | |
void | open (const char *path, access_t access, char **args, 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 (const char *command, access_t access, char **args, char **env=NULL, size_t size=512) | |
Create child process and start pipe. | |
pipestream () | |
Create an unopened pipe stream. | |
void | terminate (void) |
Force terminate child and close. | |
virtual | ~pipestream () |
Destroy a pipe stream. | |
Protected Member Functions | |
int | overflow (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. | |
int | underflow (void) |
This streambuf method is used to load the input buffer through the established pipe connection. | |
Protected Attributes | |
shell::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.
Definition at line 230 of file stream.h.
ucommon::pipestream::pipestream | ( | const char * | command, | |
access_t | access, | |||
char ** | args, | |||
char ** | env = NULL , |
|||
size_t | size = 512 | |||
) |
Create child process and start pipe.
path | to execute. | |
access | mode of pipe stream. | |
args | to pass to command. | |
env | to create in child. | |
size | of buffer. |
int ucommon::pipestream::close | ( | void | ) |
Close an active stream connection.
This waits for the child to terminate.
void ucommon::pipestream::open | ( | const char * | path, | |
access_t | access, | |||
char ** | args, | |||
char ** | env = NULL , |
|||
size_t | buffering = 512 | |||
) |
Open a stream connection to a pipe service.
path | to execute. | |
access | mode of stream. | |
args | to pass to command. | |
env | to create in child process. | |
buffering | size to use. |
ucommon::pipestream::operator bool | ( | ) | const [inline] |
bool ucommon::pipestream::operator! | ( | ) | const [inline] |
int ucommon::pipestream::overflow | ( | int | ch | ) | [protected] |
This streambuf method is used to write the output buffer through the established pipe connection.
ch | char to push through. |
int ucommon::pipestream::underflow | ( | void | ) | [protected] |
This streambuf method is used to load the input buffer through the established pipe connection.