Evo C++ Library v0.5.1
Classes | Namespaces | Macros
memcached_server.h File Reference

Evo Async Memached API, server classes. More...

#include "memcached_common.h"
#include "../ioasync_server.h"
#include "../strtok.h"

Go to the source code of this file.

Classes

struct  MemcachedServerHandlerBase::CommandEnum
 Command enum mappings. More...
 
struct  MemcachedServerHandlerBase::DeferredReply
 Deferred reply helper – deferred event objects should hold or inherit this, and use to send deferred response. More...
 
struct  MemcachedServerHandlerBase::GetAdvParams
 Additional parameters for advanced GET request variants. More...
 
struct  MemcachedServer< T >
 Implements Memcached protocol for an async server. More...
 
struct  MemcachedServerHandlerBase
 Base class for user defined Memcached server handler. More...
 
struct  MemcachedServerHandlerBase::StoreParams
 STORE command parameters. More...
 

Namespaces

 evo
 Evo C++ Library namespace.
 
 evo::async
 

Macros

#define EVO_HELPER_HANDLER_CASES(EVENT_NAME)
 
#define EVO_HELPER_HANDLER_DEFCHECK(EVENT_NAME, EVENT_MSG_SUFFIX)
 
#define EVO_HELPER_HANDLER_END_DEFCHECK(EVENT_NAME)
 
#define INCL_evo_api_memcached_server_h
 

Detailed Description

Evo Async Memached API, server classes.

Macro Definition Documentation

◆ EVO_HELPER_HANDLER_CASES

#define EVO_HELPER_HANDLER_CASES (   EVENT_NAME)
Value:
case HandlerBase::rtDEFERRED: \
EVO_HELPER_HANDLER_DEFCHECK(EVENT_NAME, "") \
break; \
case HandlerBase::rtHANDLED: break; \
default: return false; /* rtCLOSE */

◆ EVO_HELPER_HANDLER_DEFCHECK

#define EVO_HELPER_HANDLER_DEFCHECK (   EVENT_NAME,
  EVENT_MSG_SUFFIX 
)
Value:
if (handler.noreply) { \
logger.log(LOG_LEVEL_ERROR, "MemcServer " EVENT_NAME " error: Handler returned rtDEFERRED on 'noreply' request"); \
return false; /* invalid result, close connection */ \
} \
if (++expected_deferred_count != context_ref.count()) { \
if (expected_deferred_count > context_ref.count()) \
logger.log(LOG_LEVEL_ERROR, "MemcServer " EVENT_NAME " error: Handler returned rtDEFERRED without creating a DeferredReply"); \
else \
logger.log(LOG_LEVEL_ERROR, "MemcServer " EVENT_NAME " error: Handler created more than one DeferredReply, only 1 allowed per handler"); \
return false; /* invalid result, close connection */ \
} \
logger.log(LOG_LEVEL_DEBUG_LOW, "MemcServer -- " EVENT_NAME " response deferred" EVENT_MSG_SUFFIX);
Low-level debug message, used for showing debug info for lower-level internal or library details (DBG...
Definition: logger.h:137
Error message showing something isn&#39;t working as expected, program may be able to work around it (ERR...
Definition: logger.h:133

◆ EVO_HELPER_HANDLER_END_DEFCHECK

#define EVO_HELPER_HANDLER_END_DEFCHECK (   EVENT_NAME)
Value:
if (expected_deferred_count != context_ref.count()) { \
logger.log(LOG_LEVEL_ERROR, "MemcServer " EVENT_NAME " error: Handler created DeferredReply without returning rtDEFERRED"); \
return false; /* invalid result, close connection */ \
}
Error message showing something isn&#39;t working as expected, program may be able to work around it (ERR...
Definition: logger.h:133

◆ INCL_evo_api_memcached_server_h

#define INCL_evo_api_memcached_server_h