Evo C++ Library v0.5.1
|
Evo input/output streams. More...
Classes | |
class | AsyncBase |
Base class for Async I/O. More... | |
class | AsyncBuffers |
Holds data for async I/O buffers (used internally with AsyncServer and protocol implementations). More... | |
class | AsyncClient< T, Q > |
Template class for an async I/O client. More... | |
class | AsyncEventLoop |
Manages an event-loop for async I/O. More... | |
class | AsyncServer< T > |
Async I/O server for receiving and handling requests. More... | |
struct | AsyncServerHandler |
Base async I/O server handler. More... | |
class | AsyncServerReplyT< T > |
Handles sending server replies, and accounts for potentially out of order responses. More... | |
struct | Console |
Console I/O. More... | |
struct | ConsoleMT |
Multithreaded console I/O. More... | |
struct | ConsoleNotMT |
Single threaded console I/O. More... | |
struct | Date |
Structure holding a calendar date. More... | |
struct | DateTime |
Full calendar date and time of day with timezone offset. More... | |
class | Directory |
Directory reader. More... | |
class | ExceptionDirOpen |
Directory open exception for errors opening a directory for reading entries, see Exception. More... | |
class | ExceptionSocketConfig |
Socket config exception for getopt() or setopt() errors, see Exception. More... | |
class | ExceptionSocketIn |
Socket input stream exception for socket read errors, see Exception. More... | |
class | ExceptionSocketOpen |
Socket open exception for socket connect/bind/listen errors, see Exception. More... | |
class | ExceptionSocketOut |
Socket output stream exception for socket write errors, see Exception. More... | |
class | File |
File I/O stream. More... | |
class | FilePath |
File and directory path helpers. More... | |
struct | IoBase |
Base binary stream interface. More... | |
class | IoDevice |
I/O device base class for streams. More... | |
struct | IoFile |
File I/O device (used internally). More... | |
struct | IoReader |
Buffered reader for IoDevice (used internally). More... | |
struct | IoSocket |
Socket I/O device (used internally). More... | |
struct | IoWriter |
Buffered writer for IoDevice (used internally). More... | |
class | NetworkInterfaces |
Query network adapter interfaces from OS. More... | |
struct | Pipe |
Pipe stream access. More... | |
class | PipeIn |
Input stream for reading from pipe. More... | |
class | PipeOut |
Output stream for writing to pipe. More... | |
class | Socket |
Socket I/O stream. More... | |
struct | SocketAddress |
Generic socket address (used internally). More... | |
struct | SocketAddressBase |
Base socket address. More... | |
struct | SocketAddressInfo |
Resolves socket name/address to socket address info. More... | |
struct | SocketAddressIp |
TCP/IP socket address. More... | |
struct | SocketAddressUnix |
Unix Domain socket address (linux/unix). More... | |
class | SocketCast |
Socket for I/O casting (datagram/UDP). More... | |
class | Stream< T > |
Input/Output stream implementation. More... | |
struct | StreamBase |
Base text and binary stream interface. More... | |
struct | StreamExtMT< T, M > |
Extends an existing stream with mutex for multithreaded synchronization. More... | |
struct | StreamFormatter< T > |
Stream output formatter with state. More... | |
class | StreamIn< T > |
Input stream implementation. More... | |
struct | StreamMT< T > |
Stream with mutex for multithreaded synchronization. More... | |
struct | StreamMT< File > |
Stream with mutex for multithreaded synchronization, specialized for File. More... | |
class | StreamOut< T > |
Output stream implementation. More... | |
struct | SysDir |
System directory reader (used internally). More... | |
struct | SysLinuxIo |
struct | TimeOfDay |
Structure holding a time of day. More... | |
struct | TimeZoneOffset |
Structure holding a time zone offset from UTC. More... | |
Typedefs | |
typedef AsyncServerReplyT | AsyncServerReply |
Handles sending server replies – see AsyncServerReplyT. More... | |
typedef StreamMT< File > | FileMT |
File with mutex for synchonization – see File and StreamMT<File> More... | |
typedef StreamMT< PipeIn > | PipeInMT |
Input pipe with mutex for synchonization – see StreamMT. More... | |
typedef StreamMT< PipeOut > | PipeOutMT |
Output pipe with mutex for synchonization – see StreamMT. More... | |
Enumerations | |
enum | AsyncError { aeNONE = 0, aeCONNECT, aeCLOSED, aeIO, aeIO_READ, aeIO_WRITE, aeTIMEOUT, aeCLIENT } |
Async I/O error type. More... | |
enum | AsyncReadResult { arrERROR = 0, arrDONE, arrMORE } |
Async I/O read results used by protocol events. More... | |
enum | Open { oREAD = O_RDONLY, oREAD_WRITE = O_RDWR, oREAD_WRITE_NEW = O_RDWR | O_CREAT | O_TRUNC, oREAD_APPEND = O_RDWR | O_APPEND, oREAD_APPEND_NEW = O_RDWR | O_APPEND | O_CREAT | O_TRUNC, oWRITE = O_WRONLY, oWRITE_NEW = O_WRONLY | O_CREAT | O_TRUNC, oAPPEND = O_WRONLY | O_CREAT | O_APPEND, oAPPEND_NEW = O_WRONLY | O_APPEND | O_CREAT | O_TRUNC } |
Open mode for files and streams. More... | |
enum | Seek { sBegin = SEEK_SET, sCurrent = SEEK_CUR, sEnd = SEEK_END } |
Seek starting position. More... | |
Functions | |
const char * | async_error_msg (AsyncError err) |
Get error message for AsyncError code. More... | |
Console & | con () |
Shortcut for Console::get(). More... | |
ConsoleMT & | con_mt () |
Shortcut for ConsoleMT::get(). More... | |
const char * | errormsg_socket (Error error) |
Get socket error message for error code. More... | |
String & | get_abspath (String &outpath, SubString &path) |
Get absolute path for given input path. More... | |
String & | get_cwd (String &outpath) |
Store current working directory in string. More... | |
bool | open_readable (Open open) |
Check whether open mode is readable. More... | |
bool | open_writable (Open open) |
Check whether open mode is writable. More... | |
Error | set_cwd (const char *path, bool excep=1) |
Set current working directory. More... | |
Evo input/output streams.
typedef AsyncServerReplyT AsyncServerReply |
Handles sending server replies – see AsyncServerReplyT.
File with mutex for synchonization – see File and StreamMT<File>
enum AsyncError |
Async I/O error type.
Enumerator | |
---|---|
aeNONE | No error. |
aeCONNECT | Connection refused (clients only) |
aeCLOSED | Socket closed by other side. |
aeIO | I/O unrecoverable error. |
aeIO_READ | I/O read error. |
aeIO_WRITE | I/O write error. |
aeTIMEOUT | I/O timeout. |
aeCLIENT | Client protocol error (set by protocol implementation) |
enum AsyncReadResult |
enum Open |
Open mode for files and streams.
enum Seek |
|
inline |
Get error message for AsyncError code.
err | Error code to get message for |
|
inline |
Shortcut for Console::get().
|
inline |
Shortcut for ConsoleMT::get().
|
inline |
Get socket error message for error code.
error | Error code – see Error |
Get absolute path for given input path.
strict=false
) to see if input path
is an absolute path, if so this is the output pathoutpath | Stores output absolute path [out] |
path | Path to get absolute path for |
outpath
, set to null if path
is null Store current working directory in string.
outpath | String to store current working directory [out] |
outpath
with absolute path to current working directory, set to null if this somehow fails (unlikely)
|
inline |
Check whether open mode is readable.
open | Open mode |
|
inline |
Check whether open mode is writable.
open | Open mode |
|
inline |
Set current working directory.
path | Directory path to set |
excep | Whether to enable exceptions on error, default set by Evo config: EVO_EXCEPTIONS |
excep=true