|
CoreComponents 3.0.0
A Modern C++ Toolkit
|
Inter-process communication channel. More...
#include <cc/IoChannel>
Public Member Functions | |
| IoChannel ()=default | |
| Create a null I/O channel. | |
| int | slaveFd () const |
| Communication end of the sub-process. | |
Public Member Functions inherited from IoStream | |
| IoStream ()=default | |
| Create a null I/O stream. | |
| IoStream (int fd) | |
| Create an I/O stream for file descriptor fd. | |
| int | fd () const |
| File descriptor | |
| void | close () |
| Manually close this I/O stream. | |
| void | shutdown (IoShutdown mode=IoShutdown::Full) |
| Manually shutdown this I/O stream. | |
| void | duplicateTo (IoStream &other) |
| Duplicate this I/O stream. | |
| IoStream | duplicate () const |
| Duplicate I/O stream other. | |
| bool | isInteractive () const |
| Check if this is a teletype (e.g. | |
| void | echo (bool on) |
| Set echo mode of this I/O stream to on | |
| int | ioctl (int request, void *arg) |
| Issue an device control request. | |
| long | scatterLimit () const |
| I/O scatter limit (in bytes) | |
| void | setScatterLimit (long newLimit) |
| Set the I/O scatter limit (in bytes) | |
Public Member Functions inherited from Stream | |
| Stream ()=default | |
| Create a null stream. | |
| bool | waitEstablished (int timeout=-1) |
| Wait until the connection is fully established. | |
| bool | wait (IoEvent event, int timeout=-1) |
| Wait for an I/O event. | |
| long | read (Out< Bytes > buffer, long maxFill=-1) |
| Read available bytes into buffer and return number of bytes read. | |
| void | write (const Bytes &buffer, long fill=-1) |
| Write fill bytes from buffer (if fill < 0 write all bytes from buffer) | |
| void | write (const List< Bytes > &buffers) |
| Write the contents of buffers in one go. | |
| void | write (const List< String > &parts) |
| Convenience method, equivalent to 'write(parts.join())'. | |
| void | write (const struct iovec *iov, int iovcnt) |
| Write the contents of the iov buffers in one go. | |
| void | write (const char *s) |
| Write C-string s. | |
| bool | isDiscarding () const |
| Return true if this stream is discarding all writes | |
| long long | transferTo (const Stream &sink, long long count, const Bytes &buffer) |
| Transfer a span of bytes. | |
| long long | transferTo (const Stream &sink, long long count=-1) |
| Transfer a span of bytes. | |
| long | defaultTransferUnit () const |
| Default I/O buffer size. | |
| long long | skip (long long count) |
| Read and discard count bytes. | |
| void | drain (const Bytes &auxBuffer=Bytes{}) |
| Read everything that is left. | |
| long | readSpan (Out< Bytes > buffer) |
| Read fixed number of bytes. | |
| String | readSpan (long count) |
| Read a fixed number of bytes. | |
| String | readAll () |
| Read the entire stream. | |
Public Member Functions inherited from Object | |
| Object ()=default | |
| Create a null object. | |
| operator bool () const | |
| Check if this is a non-null object. | |
| bool | isNull () const |
| Check if this is a null object. | |
| template<class T > | |
| bool | is () const |
| Check if this object is of type T. | |
| template<class T > | |
| T | as () const |
| Cast this object to type T. | |
| bool | isWeak () const |
| Check if the underlying object reference is weak. | |
| bool | operator== (const Object &other) const |
| Equality operator. | |
| std::strong_ordering | operator<=> (const Object &other) const |
| Ordering operator. | |
| long | useCount () const |
| Reference count. | |
Protected Member Functions | |
| IoChannel (State *newState) | |
| State & | me () |
| const State & | me () const |
Protected Member Functions inherited from IoStream | |
| IoStream (State *newState) | |
| State & | me () |
| const State & | me () const |
Protected Member Functions inherited from Stream | |
| Stream (State *newState) | |
| State & | me () |
| const State & | me () const |
Protected Member Functions inherited from Object | |
| template<class T > | |
| T | weak () const |
| template<class T > | |
| void | initOnce () |
| Create the object state when called the first time. | |
| template<class T > | |
| void | initOncePerThread () |
| Create a distinct object state for each thread when called the first time in that thread. | |
| Object (State *newState) | |
| Initialize object with newState. | |
| Object (State *state, Alias) | |
| Object (State *state, Weak) | |
| Object & | operator= (std::nullptr_t) |
Additional Inherited Members | |
Static Public Member Functions inherited from IoStream | |
| static IoStream & | input () |
| Standard input stream. | |
| static IoStream & | output () |
| Standard output stream. | |
| static IoStream & | error () |
| Standard error stream. | |
| static void | pair (Out< IoStream > a, Out< IoStream > b) |
| Establish a full-duplex communication channel between a and b. | |
Static Protected Member Functions inherited from Object | |
| template<class T > | |
| static T | alias (const State *state) |
| Create an alias object for the given state. | |
| template<class T > | |
| static T | weak (const State *state) |
Protected Attributes inherited from Object | |
| Handle< State > | me |
| Internal object state | |
Inter-process communication channel.
|
default |
Create a null I/O channel.
| int slaveFd | ( | ) | const |
Communication end of the sub-process.