Evo C++ Library v0.5.1
Classes | Namespaces | Macros | Enumerations | Functions
ioasync_base.h File Reference

Evo AsyncBase. More...

#include "iosock.h"
#include "event.h"
#include "thread.h"
#include "string.h"
#include "substring.h"
#include "atomic_buffer_queue.h"
#include "logger.h"
#include <event2/event.h>
#include <event2/buffer.h>
#include <event2/bufferevent.h>
#include <event2/thread.h>

Go to the source code of this file.

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  AsyncEventLoop
 Manages an event-loop for async I/O. More...
 
class  AsyncBuffers::BulkWrite
 Use to group multiple writes for efficiency. More...
 
struct  AsyncBase::OnTimer
 Timer expired event. More...
 

Namespaces

 evo
 Evo C++ Library namespace.
 

Macros

#define EVO_ASYNC_MULTI_THREAD   0
 Enable multi-threaded support for internal async I/O code. More...
 
#define EVO_LIBEVENT_MINVER   0x02000000
 
#define INCL_evo_ioasync_base_h
 

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...
 

Functions

const char * async_error_msg (AsyncError err)
 Get error message for AsyncError code. More...
 

Detailed Description

Evo AsyncBase.

Macro Definition Documentation

◆ EVO_ASYNC_MULTI_THREAD

#define EVO_ASYNC_MULTI_THREAD   0

Enable multi-threaded support for internal async I/O code.

  • Define as EVO_ASYNC_MULTI_THREAD 1 to enable this

◆ EVO_LIBEVENT_MINVER

#define EVO_LIBEVENT_MINVER   0x02000000

◆ INCL_evo_ioasync_base_h

#define INCL_evo_ioasync_base_h