acl  3.5.3.0
acl 命名空间参考

命名空间

 acl
 

struct  _Is_bool
 
struct  _Is_bool< bool >
 
struct  _Is_char_ptr
 
struct  _Is_char_ptr< char * >
 
struct  _Is_double
 
struct  _Is_double< double >
 
struct  _Is_double< float >
 
struct  _Is_double< long double >
 
struct  _Is_number
 
struct  _Is_number< long long >
 
struct  _Is_number< signed int >
 
struct  _Is_number< signed long >
 
struct  _Is_number< signed short >
 
struct  _Is_number< unsigned int >
 
struct  _Is_number< unsigned long >
 
struct  _Is_number< unsigned long long >
 
struct  _Is_number< unsigned short >
 
struct  _Is_object
 
struct  _Is_object< true >
 
struct  _Is_string
 
struct  _Is_string< acl::string >
 
struct  _Is_string< std::string >
 
class  AbortMultipartUploadRequest
 
class  aio_accept_callback
 
class  aio_callback
 
struct  AIO_CALLBACK
 
class  aio_delay_free
 
class  aio_fstream
 
class  aio_handle
 
class  aio_istream
 
class  aio_listen_callback
 
class  aio_listen_stream
 
class  aio_open_callback
 
struct  AIO_OPEN_CALLBACK
 
class  aio_ostream
 
class  aio_socket_stream
 
class  aio_stream
 
class  aio_timer_callback
 
class  aio_timer_reader
 
class  aio_timer_writer
 
class  atomic
 
class  atomic_long
 
class  atomic_long_test
 
class  beanstalk
 
class  beanstalk_pool
 
class  bitmap
 
class  Bucket
 
class  channel
 
class  charset_conv
 
class  check_client
 
class  CompleteMultipartUploadRequest
 
class  CompleteMultipartUploadResult
 
struct  conn_config
 
class  connect_client
 
class  connect_guard
 
class  connect_manager
 
class  connect_monitor
 
class  connect_pool
 
struct  conns_pools
 
class  CopyObjectRequest
 
class  CopyObjectResult
 
class  CORSRule
 
class  CreateBucketRequest
 
class  db_cursor
 
class  db_guard
 
class  db_handle
 
class  db_mysql
 
class  db_pgsql
 
class  db_pool
 
class  db_query
 
class  db_row
 
class  db_rows
 
class  db_service
 
class  db_service_mysql
 
class  db_service_sqlite
 
class  db_sqlite
 
class  dbuf_allocator
 
class  dbuf_guard
 
class  dbuf_obj
 
class  dbuf_pool
 
class  diff_manager
 
class  diff_object
 
class  diff_string
 
class  disque
 
class  disque_cond
 
class  disque_job
 
class  disque_node
 
class  dns_res
 
class  dns_result_callback
 
class  dns_service
 
struct  enable_if
 
struct  enable_if< true, T >
 
class  event_mutex
 
class  event_timer
 
struct  false_type
 
class  fiber
 
class  fiber_cond
 
class  fiber_ctx
 
class  fiber_event
 
class  fiber_mutex
 
class  fiber_rwlock
 
class  fiber_sbox
 
class  fiber_sem
 
class  fiber_sem_guard
 
class  fiber_tbox
 
class  fiber_timer
 
class  final_tpl
 
class  final_tpl_base
 
struct  frame_header
 
class  fstream
 
class  geo_member
 
class  GetObjectRequest
 
class  go_fiber
 
class  gsoner
 
struct  HEADER
 
class  hsclient
 
class  hserror
 
class  hspool
 
class  hsproto
 
class  hsrow
 
class  hstable
 
class  http_aclient
 
class  http_client
 
class  http_ctype
 
class  http_download
 
class  http_guard
 
class  http_header
 
class  http_mime
 
class  http_mime_node
 
struct  HTTP_PARAM
 
class  http_pipe
 
class  http_request
 
class  http_request_manager
 
class  http_request_pool
 
class  http_response
 
class  http_server
 
class  http_server_impl
 
class  http_service
 
class  http_service_request
 
class  http_servlet
 
class  http_servlet_impl
 
class  http_url
 
class  http_utils
 
class  HttpCookie
 
class  HttpServlet
 
class  HttpServletRequest
 
class  HttpServletResponse
 
class  HttpSession
 
class  identity
 
class  ifstream
 
class  InitiateMultipartUploadRequest
 
class  InitiateMultipartUploadResult
 
class  ipc_client
 
class  ipc_request
 
class  ipc_server
 
class  ipc_service
 
struct  is_bool
 
struct  is_char_ptr
 
struct  is_double
 
struct  is_number
 
struct  is_object
 
struct  is_string
 
class  istream
 
class  json
 
class  json_node
 
class  ListMultipartUploadsRequest
 
class  ListObjectsRequest
 
class  ListPartsRequest
 
class  lock_guard
 
class  locker
 
class  log
 
class  mail_attach
 
class  mail_body
 
class  mail_message
 
class  master_aio
 
class  master_base
 
struct  master_bool_tbl
 
class  master_conf
 
class  master_fiber
 
struct  master_int64_tbl
 
struct  master_int_tbl
 
class  master_proc
 
struct  master_str_tbl
 
class  master_threads
 
class  master_trigger
 
class  master_udp
 
class  mbedtls_conf
 
class  mbedtls_io
 
class  mbox
 
class  md5
 
class  memcache
 
class  memcache_manager
 
class  memcache_pool
 
class  memcache_session
 
class  mime
 
class  mime_attach
 
class  mime_base64
 
class  mime_body
 
class  mime_code
 
class  mime_head
 
class  mime_image
 
class  mime_node
 
class  mime_quoted_printable
 
class  mime_uucode
 
class  mime_xxcode
 
class  mqtt_ack
 
class  mqtt_aclient
 
class  mqtt_client
 
class  mqtt_connack
 
class  mqtt_connect
 
struct  mqtt_constrain
 
class  mqtt_disconnect
 
class  mqtt_header
 
class  mqtt_message
 
class  mqtt_pingreq
 
class  mqtt_pingresp
 
class  mqtt_puback
 
class  mqtt_pubcomp
 
class  mqtt_publish
 
class  mqtt_pubrec
 
class  mqtt_pubrel
 
class  mqtt_suback
 
class  mqtt_subscribe
 
class  mqtt_unsuback
 
class  mqtt_unsubscribe
 
struct  MSG_HDR
 
class  MultipartUploadListing
 
class  mysql_conf
 
class  mysql_manager
 
class  mysql_pool
 
class  noncopyable
 
class  ObjectMetadata
 
class  ofstream
 
class  OptionsRequest
 
class  OSSClient
 
class  OSSObject
 
class  ostream
 
class  PartListing
 
class  pgsql_conf
 
class  pgsql_manager
 
class  pgsql_pool
 
class  pipe_manager
 
class  pipe_stream
 
class  pipe_string
 
class  polarssl_conf
 
class  polarssl_io
 
class  PutObjectResult
 
class  query
 
class  queue_file
 
class  queue_manager
 
class  redis
 
class  redis_client
 
class  redis_client_cluster
 
class  redis_client_pipeline
 
class  redis_client_pool
 
class  redis_cluster
 
class  redis_command
 
class  redis_connection
 
class  redis_geo
 
class  redis_hash
 
class  redis_hyperloglog
 
class  redis_key
 
class  redis_list
 
class  redis_master
 
class  redis_node
 
struct  redis_pending_consumer
 
struct  redis_pending_detail
 
struct  redis_pending_message
 
struct  redis_pending_summary
 
class  redis_pipeline_channel
 
class  redis_pipeline_message
 
class  redis_pubsub
 
class  redis_result
 
class  redis_role
 
class  redis_role4master
 
class  redis_role4slave
 
class  redis_script
 
class  redis_sentinel
 
class  redis_server
 
class  redis_session
 
class  redis_set
 
class  redis_slave
 
class  redis_slot
 
class  redis_stream
 
struct  redis_stream_field
 
struct  redis_stream_info
 
struct  redis_stream_message
 
struct  redis_stream_messages
 
class  redis_string
 
class  redis_transaction
 
struct  redis_xinfo_consumer
 
struct  redis_xinfo_group
 
class  redis_zset
 
struct  remove_const
 
struct  remove_const< const T >
 
struct  remove_cv
 
struct  remove_pointer
 
struct  remove_pointer< T * >
 
struct  remove_pointer< T *const >
 
struct  remove_pointer< T *const volatile >
 
struct  remove_pointer< T *volatile >
 
struct  remove_volatile
 
struct  remove_volatile< volatile T >
 
class  ResponseHeaderOverrides
 
class  rfc1035_request
 
class  rfc1035_response
 
class  rfc2047
 
struct  rfc2047_entry
 
class  rfc822
 
struct  rfc822_addr
 
struct  RPC_DAT
 
class  rpc_request
 
class  rpc_service
 
class  scan_dir
 
class  server_socket
 
class  session
 
class  session_string
 
class  SetBucketCORSRequest
 
class  sha1
 
class  singleton
 
struct  singleton2
 
class  singleton_module
 
class  singleton_wrapper
 
class  smtp_client
 
class  socket_stream
 
class  sqlite_cursor
 
class  sqlite_manager
 
class  sqlite_pool
 
class  sslbase_conf
 
class  sslbase_io
 
class  stdin_stream
 
class  stdout_stream
 
class  stream
 
class  stream_hook
 
class  string
 
class  tbox
 
class  tbox_array
 
class  tcp_client
 
class  tcp_ipc
 
class  tcp_keeper
 
class  tcp_manager
 
class  tcp_pool
 
class  tcp_reader
 
class  tcp_sender
 
class  thread
 
class  thread_cond
 
class  thread_job
 
class  thread_mutex
 
class  thread_mutex_guard
 
class  thread_pool
 
class  thread_qitem
 
class  thread_queue
 
class  thread_trigger
 
class  timer_trigger
 
class  token_node
 
class  token_tree
 
class  trigger_item
 
struct  true_type
 
class  UploadPartCopyRequest
 
class  UploadPartCopyResult
 
class  UploadPartRequest
 
class  UploadPartResult
 
class  url_coder
 
struct  URL_NV
 
class  websocket
 
class  WebSocketServlet
 
class  xml
 
class  xml1
 
class  xml1_attr
 
class  xml1_node
 
class  xml2
 
class  xml2_attr
 
class  xml2_node
 
class  xml_attr
 
class  xml_node
 
class  zlib_stream
 

类型定义

typedef class redis_client disque_client
 
typedef class redis_client_pool disque_client_pool
 
typedef class redis_client_cluster disque_client_cluster
 
typedef struct acl::MSG_HDR MSG_HDR
 
typedef struct acl::master_int_tbl master_int_tbl
 
typedef struct acl::master_str_tbl master_str_tbl
 
typedef struct acl::master_bool_tbl master_bool_tbl
 
typedef struct acl::master_int64_tbl master_int64_tbl
 
typedef class memcache mem_cache
 
typedef struct acl::HEADER HEADER
 
typedef std::function< void()> proc_jail_t
 
typedef std::function< void()> proc_init_t
 
typedef std::function< void()> proc_exit_t
 
typedef std::function< bool(acl::string &)> proc_sighup_t
 
typedef std::function< void()> thread_init_t
 
typedef std::function< bool(acl::socket_stream &)> thread_accept_t
 
typedef HttpServletRequest HttpRequest
 
typedef HttpServletResponse HttpResponse
 
typedef std::function< bool(HttpRequest &, HttpResponse &)> http_handler_t
 
typedef std::map< acl::string, http_handler_thttp_handlers_t
 

枚举

enum  db_status { DB_OK, DB_ERR_OPEN, DB_ERR_EXEC_SQL }
 
enum  http_status_t {
  HTTP_OK, HTTP_ERR_DNS, HTTP_ERR_CONN, HTTP_ERR_REQ,
  HTTP_ERR_READ, HTTP_ERR_SEND, HTTP_ERR_TIMO, HTTP_ERR_READ_HDR,
  HTTP_ERR_READ_BODY, HTTP_ERR_INVALID_HDR, HTTP_ERR_UNKNOWN, HTTP_ERR_REDIRECT_MAX
}
 
enum  http_method_t {
  HTTP_METHOD_UNKNOWN, HTTP_METHOD_GET, HTTP_METHOD_POST, HTTP_METHOD_PUT,
  HTTP_METHOD_CONNECT, HTTP_METHOD_PURGE, HTTP_METHOD_DELETE, HTTP_METHOD_HEAD,
  HTTP_METHOD_OPTION, HTTP_METHOD_PROPFIND, HTTP_METHOD_PATCH, HTTP_METHOD_OTHER
}
 
enum  http_request_t {
  HTTP_REQUEST_NORMAL, HTTP_REQUEST_MULTIPART_FORM, HTTP_REQUEST_OCTET_STREAM, HTTP_REQUEST_TEXT_XML,
  HTTP_REQUEST_TEXT_JSON, HTTP_REQUEST_OTHER
}
 
enum  http_request_error_t { HTTP_REQ_OK, HTTP_REQ_ERR_IO, HTTP_REQ_ERR_METHOD }
 
enum  http_mime_t { HTTP_MIME_PARAM, HTTP_MIME_FILE }
 
enum  {
  FRAME_CONTINUATION = 0x00, FRAME_TEXT = 0x01, FRAME_BINARY = 0x02, FRAME_RSV3 = 0x03,
  FRAME_RSV4 = 0x04, FRAME_RSV5 = 0x05, FRAME_RSV6 = 0x06, FRAME_RSV7 = 0x07,
  FRAME_CLOSE = 0x08, FRAME_PING = 0x09, FRAME_PONG = 0x0A, FRAME_CTL_RSVB = 0x0B,
  FRAME_CTL_RSVC = 0x0C, FRAME_CTL_RSVD = 0x0D, FRAME_CTL_RSVE = 0x0E, FRAME_CTL_RSVF = 0x0F
}
 
enum  io_status { IO_WAIT_HDR, IO_WAIT_DAT }
 
enum  tzone_t { tzone_gmt, tzone_cst }
 
enum  {
  MQTT_CONNACK_OK = 0x00, MQTT_CONNACK_ERR_VER = 0x01, MQTT_CONNACK_ERR_CID = 0x02, MQTT_CONNACK_ERR_SVR = 0x03,
  MQTT_CONNACK_ERR_AUTH = 0x04, MQTT_CONNACK_ERR_DENY = 0x05
}
 
enum  mqtt_conn_status_t {
  CONNECT_ACCEPTED = 0x00, CONNECT_INVALID_VERSION = 0x01, CONNECT_INVALID_CID = 0x02, CONNECT_NOT_AVAIL = 0x03,
  CONNECT_LOGIN_FAILED = 0x04, CONNECT_NO_AUTHORITY = 0x05
}
 
enum  mqtt_type_t {
  MQTT_RESERVED_MIN = 0, MQTT_CONNECT = 1, MQTT_CONNACK = 2, MQTT_PUBLISH = 3,
  MQTT_PUBACK = 4, MQTT_PUBREC = 5, MQTT_PUBREL = 6, MQTT_PUBCOMP = 7,
  MQTT_SUBSCRIBE = 8, MQTT_SUBACK = 9, MQTT_UNSUBSCRIBE = 10, MQTT_UNSUBACK = 11,
  MQTT_PINGREQ = 12, MQTT_PINGRESP = 13, MQTT_DISCONNECT = 14, MQTT_RESERVED_MAX = 15
}
 
enum  mqtt_option_t { MQTT_NONE, MQTT_NEED, MQTT_MAYBE }
 
enum  mqtt_qos_t { MQTT_QOS0 = 0x0, MQTT_QOS1 = 0x1, MQTT_QOS2 = 0x2 }
 
enum  rfc1035_type_t {
  rfc1035_type_null, rfc1035_type_a, rfc1035_type_aaaa, rfc1035_type_mx,
  rfc1035_type_txt, rfc1035_type_ptr
}
 
enum  redis_pipeline_type_t { redis_pipeline_t_cmd, redis_pipeline_t_redirect, redis_pipeline_t_clusterdonw, redis_pipeline_t_stop }
 
enum  { GEO_UNIT_FT, GEO_UNIT_M, GEO_UNIT_MI, GEO_UNIT_KM }
 
enum  { GEO_WITH_COORD = 1 << 0, GEO_WITH_DIST = 1 << 1, GEO_WITH_HASH = 1 << 2 }
 
enum  { GEO_SORT_NONE, GEO_SORT_ASC, GEO_SORT_DESC }
 
enum  redis_key_t {
  REDIS_KEY_NONE, REDIS_KEY_STRING, REDIS_KEY_HASH, REDIS_KEY_LIST,
  REDIS_KEY_SET, REDIS_KEY_ZSET
}
 
enum  redis_result_t {
  REDIS_RESULT_UNKOWN, REDIS_RESULT_NIL, REDIS_RESULT_ERROR, REDIS_RESULT_STATUS,
  REDIS_RESULT_INTEGER, REDIS_RESULT_STRING, REDIS_RESULT_ARRAY
}
 
enum  todo_t { TODO_NUL, TODO_SET, TODO_DEL }
 
enum  zlib_level_t {
  zlib_default = -1, zlib_level0 = 0, zlib_best_speed = 1, zlib_level1 = zlib_best_speed,
  zlib_level2 = 2, zlib_level3 = 3, zlib_level4 = 4, zlib_level5 = 5,
  zlib_level6 = 6, zlib_level7 = 7, zlib_level8 = 8, zlib_best_compress = 9,
  zlib_level9 = zlib_best_compress
}
 
enum  {
  zlib_wbits_8 = 8, zlib_wbits_9 = 9, zlib_wbits_10 = 10, zlib_wbits_11 = 11,
  zlib_wbits_12 = 12, zlib_wbits_13 = 13, zlib_wbits_14 = 14, zlib_wbits_15 = 15
}
 
enum  zlib_mlevel_t {
  zlib_mlevel_1 = 1, zlib_mlevel_2 = 2, zlib_mlevel_3 = 3, zlib_mlevel_4 = 4,
  zlib_mlevel_5 = 5, zlib_mlevel_6 = 6, zlib_mlevel_7 = 7, zlib_mlevel_8 = 8,
  zlib_mlevel_9 = 9
}
 
enum  zlib_flush_t {
  zlib_flush_off = 0, zlib_flush_partial = 1, zlib_flush_sync = 2, zlib_flush_full = 3,
  zlib_flush_finish = 4
}
 
enum  aio_handle_type { ENGINE_SELECT, ENGINE_POLL, ENGINE_KERNEL, ENGINE_WINMSG }
 
enum  mbedtls_verify_t { MBEDTLS_VERIFY_NONE, MBEDTLS_VERIFY_OPT, MBEDTLS_VERIFY_REQ }
 
enum  polarssl_verify_t { POLARSSL_VERIFY_NONE, POLARSSL_VERIFY_OPT, POLARSSL_VERIFY_REQ }
 
enum  { OPEN_FLAG_NONE = 0, OPEN_FLAG_NONBLOCK = 1, OPEN_FLAG_REUSEPORT = 1 << 1, OPEN_FLAG_EXCLUSIVE = 1 << 2 }
 
enum  time_unit_t { time_unit_s, time_unit_ms, time_unit_us, time_unit_ns }
 
enum  {
  http_handler_get = 0, http_handler_post, http_handler_head, http_handler_put,
  http_handler_patch, http_handler_connect, http_handler_purge, http_handler_delete,
  http_handler_options, http_handler_profind, http_handler_websocket, http_handler_error,
  http_handler_unknown, http_handler_max
}
 
enum  fiber_event_t { FIBER_EVENT_T_KERNEL, FIBER_EVENT_T_POLL, FIBER_EVENT_T_SELECT, FIBER_EVENT_T_WMSG }
 

函数

ACL_CPP_API void acl_cpp_init (void)
 
ACL_CPP_API const char * acl_cpp_verbose (void)
 
ACL_CPP_API void test_logger (void)
 
ACL_CPP_API void test_snprintf (void)
 
const char * mqtt_type_desc (mqtt_type_t type)
 
const char * mqtt_qos_desc (mqtt_qos_t qos)
 
template<typename T >
bool deserialize (json &j, T &o, string *err=NULL)
 
template<typename T >
void serialize (T &o, string &buf)
 
void * atomic_new (void)
 
void atomic_free (void *)
 
void atomic_set (void *, void *)
 
void * atomic_cas (void *, void *, void *)
 
void * atomic_xchg (void *, void *)
 
ACL_CPP_API void escape (const char *in, size_t len, string &out)
 
ACL_CPP_API bool unescape (const char *in, size_t len, string &out)
 
ACL_CPP_API void acl_slice_init (void)
 
ACL_CPP_API void * acl_new (size_t size, const char *filename, const char *funcname, int lineno)
 
ACL_CPP_API void acl_delete (void *ptr, const char *filename, const char *funcname, int lineno)
 
void * mbox_create (bool mpsc)
 
void mbox_free (void *, void(*free_fn)(void *))
 
bool mbox_send (void *, void *)
 
void * mbox_read (void *, int, bool *)
 
size_t mbox_nsend (void *)
 
size_t mbox_nread (void *)
 
ACL_CPP_API int safe_snprintf (char *buf, size_t size, const char *fmt,...)
 
ACL_CPP_API int safe_vsnprintf (char *buf, size_t size, const char *fmt, va_list ap)
 
template<typename T >
string operator+ (T v, const string &rhs)
 
ACL_CPP_API int last_error (void)
 
ACL_CPP_API void set_error (int errnum)
 
ACL_CPP_API const char * last_serror (void)
 
ACL_CPP_API const char * last_serror (char *buf, size_t size)
 
ACL_CPP_API const char * string_error (int errnum, char *buf, size_t size)
 
ACL_CPP_API int strncasecmp_ (const char *s1, const char *s2, size_t n)
 
ACL_CPP_API void assert_ (bool n)
 
ACL_CPP_API void meter_time (const char *filename, int line, const char *info)
 
ACL_CPP_API long long get_curr_stamp (void)
 
ACL_CPP_API double stamp_sub (const struct timeval &from, const struct timeval &sub)
 
ACL_CHANNELchannel_create (int elemsize, int bufsize)
 
void channel_free (ACL_CHANNEL *c)
 
int channel_send (ACL_CHANNEL *c, void *v)
 
int channel_recv (ACL_CHANNEL *c, void *v)
 

详细描述

Copyright (C) 2015-2018 All rights reserved.

AUTHOR(S) niuke.nosp@m.y@qq.nosp@m..com shuxi.nosp@m.n.zh.nosp@m.eng@q.nosp@m.q.co.nosp@m.m

VERSION Sun 18 Sep 2016 05:15:52 PM CST

Copyright (C) 2015-2018 All rights reserved.

AUTHOR(S) E-mail: "fuwangqini" niuke.nosp@m.y@qq.nosp@m..com 2017.5.13 fixed one bug by "lindawei" 67249.nosp@m.6008.nosp@m.@qq.c.nosp@m.om

VERSION Sat 08 Oct 2016 09:07:14 PM CST

Copyright (C) 2015-2018 All rights reserved.

AUTHOR(S) E-mail: niuke.nosp@m.y@qq.nosp@m..com

VERSION Sat 08 Oct 2016 09:07:14 PM CST

对 ACL 库中 json 解析库的封装,方便 C++ 用户使用,如果不太注重性能因素, 可以直接使用该类,如果在服务端执行且非常注重性能,建议直接使用 ACL 库的 json 解析器,因为该类也是调用了 ACL 库中的 json 解析过程,并且有二次拷贝 过程,可能会稍微影响一些性能,但对于一般的应用这点影响是微不足道的

对 ACL 库中 XML 解析库的封装,方便 C++ 用户使用,如果不太注重性能因素, 可以直接使用该类,如果在服务端执行且非常注重性能,建议直接使用 ACL 库的 XML 解析器,因为该类也是调用了 ACL 库中的 XML 解析过程,并且有二次拷贝 过程,可能会稍微影响一些性能,但对于一般的应用这点影响是微不足道的

类型定义说明

◆ disque_client

在文件 disque.hpp13 行定义.

◆ disque_client_cluster

在文件 disque.hpp15 行定义.

◆ disque_client_pool

在文件 disque.hpp14 行定义.

◆ HEADER

typedef struct acl::HEADER acl::HEADER

◆ http_handler_t

typedef std::function<bool(HttpRequest&, HttpResponse&)> acl::http_handler_t

在文件 http_servlet_impl.hpp16 行定义.

◆ http_handlers_t

在文件 http_servlet_impl.hpp17 行定义.

◆ HttpRequest

在文件 http_servlet_impl.hpp11 行定义.

◆ HttpResponse

◆ master_bool_tbl

◆ master_int64_tbl

◆ master_int_tbl

◆ master_str_tbl

◆ mem_cache

typedef class memcache acl::mem_cache

在文件 memcache.hpp14 行定义.

◆ MSG_HDR

typedef struct acl::MSG_HDR acl::MSG_HDR

◆ proc_exit_t

typedef std::function<void()> acl::proc_exit_t

在文件 http_server_impl.hpp11 行定义.

◆ proc_init_t

typedef std::function<void()> acl::proc_init_t

在文件 http_server_impl.hpp10 行定义.

◆ proc_jail_t

typedef std::function<void()> acl::proc_jail_t

在文件 http_server_impl.hpp9 行定义.

◆ proc_sighup_t

typedef std::function<bool(acl::string&)> acl::proc_sighup_t

在文件 http_server_impl.hpp12 行定义.

◆ thread_accept_t

typedef std::function<bool(acl::socket_stream&)> acl::thread_accept_t

在文件 http_server_impl.hpp14 行定义.

◆ thread_init_t

typedef std::function<void()> acl::thread_init_t

在文件 http_server_impl.hpp13 行定义.

枚举类型说明

◆ anonymous enum

anonymous enum
枚举值
GEO_WITH_COORD 
GEO_WITH_DIST 
GEO_WITH_HASH 

在文件 redis_geo.hpp27 行定义.

28 {
29  GEO_WITH_COORD = 1 << 0,
30  GEO_WITH_DIST = 1 << 1,
31  GEO_WITH_HASH = 1 << 2,
32 };

◆ anonymous enum

anonymous enum
枚举值
GEO_SORT_NONE 
GEO_SORT_ASC 
GEO_SORT_DESC 

在文件 redis_geo.hpp34 行定义.

◆ anonymous enum

anonymous enum

压缩过程中的压缩窗口参数类型,值越大则压缩效果越好且占用内存越多, 针对 HTTP 压缩传输,需要设置这些值的负值:-zlib_wbits_t

枚举值
zlib_wbits_8 
zlib_wbits_9 
zlib_wbits_10 
zlib_wbits_11 
zlib_wbits_12 
zlib_wbits_13 
zlib_wbits_14 
zlib_wbits_15 

在文件 zlib_stream.hpp34 行定义.

◆ anonymous enum

anonymous enum
枚举值
OPEN_FLAG_NONE 
OPEN_FLAG_NONBLOCK 
OPEN_FLAG_REUSEPORT 
OPEN_FLAG_EXCLUSIVE 

在文件 server_socket.hpp13 行定义.

13  {
14  OPEN_FLAG_NONE = 0,
15  OPEN_FLAG_NONBLOCK = 1, // 非阻塞模式
16  OPEN_FLAG_REUSEPORT = 1 << 1, // 端口复用,要求 Linux3.0 以上
17  OPEN_FLAG_EXCLUSIVE = 1 << 2, // 是否禁止复用地址
18 };

◆ anonymous enum

anonymous enum
枚举值
http_handler_get 
http_handler_post 
http_handler_head 
http_handler_put 
http_handler_patch 
http_handler_connect 
http_handler_purge 
http_handler_delete 
http_handler_options 
http_handler_profind 
http_handler_websocket 
http_handler_error 
http_handler_unknown 
http_handler_max 

在文件 http_servlet_impl.hpp19 行定义.

◆ anonymous enum

anonymous enum
枚举值
FRAME_CONTINUATION 
FRAME_TEXT 
FRAME_BINARY 
FRAME_RSV3 
FRAME_RSV4 
FRAME_RSV5 
FRAME_RSV6 
FRAME_RSV7 
FRAME_CLOSE 
FRAME_PING 
FRAME_PONG 
FRAME_CTL_RSVB 
FRAME_CTL_RSVC 
FRAME_CTL_RSVD 
FRAME_CTL_RSVE 
FRAME_CTL_RSVF 

在文件 websocket.hpp23 行定义.

◆ anonymous enum

anonymous enum

the status of connection.

枚举值
MQTT_CONNACK_OK 
MQTT_CONNACK_ERR_VER 
MQTT_CONNACK_ERR_CID 
MQTT_CONNACK_ERR_SVR 
MQTT_CONNACK_ERR_AUTH 
MQTT_CONNACK_ERR_DENY 

在文件 mqtt_connack.hpp10 行定义.

◆ anonymous enum

anonymous enum
枚举值
GEO_UNIT_FT 
GEO_UNIT_M 
GEO_UNIT_MI 
GEO_UNIT_KM 

在文件 redis_geo.hpp19 行定义.

◆ aio_handle_type

枚举值
ENGINE_SELECT 
ENGINE_POLL 
ENGINE_KERNEL 
ENGINE_WINMSG 

在文件 aio_handle.hpp13 行定义.

14 {
15  ENGINE_SELECT, // select 模式(支持所有平台)
16  ENGINE_POLL, // poll 模式(仅 UNIX 平台)
17  ENGINE_KERNEL, // kernel 模式(win32: iocp, Linux: epoll, FreeBsd: kqueue, Solaris: devpoll
18  ENGINE_WINMSG // win32 GUI 消息模式
aio_handle_type
Definition: aio_handle.hpp:13

◆ db_status

枚举值
DB_OK 
DB_ERR_OPEN 
DB_ERR_EXEC_SQL 

在文件 db_service.hpp11 行定义.

◆ fiber_event_t

枚举值
FIBER_EVENT_T_KERNEL 
FIBER_EVENT_T_POLL 
FIBER_EVENT_T_SELECT 
FIBER_EVENT_T_WMSG 

在文件 fiber.hpp9 行定义.

◆ http_method_t

枚举值
HTTP_METHOD_UNKNOWN 
HTTP_METHOD_GET 
HTTP_METHOD_POST 
HTTP_METHOD_PUT 
HTTP_METHOD_CONNECT 
HTTP_METHOD_PURGE 
HTTP_METHOD_DELETE 
HTTP_METHOD_HEAD 
HTTP_METHOD_OPTION 
HTTP_METHOD_PROPFIND 
HTTP_METHOD_PATCH 
HTTP_METHOD_OTHER 

在文件 http_type.hpp29 行定义.

30 {
31  HTTP_METHOD_UNKNOWN, // 未知方法
32  HTTP_METHOD_GET, // GET 方法
33  HTTP_METHOD_POST, // POST 方法
34  HTTP_METHOD_PUT, // PUT 方法
35  HTTP_METHOD_CONNECT, // CONNECT 方法
36  HTTP_METHOD_PURGE, // PURGE 方法
37  HTTP_METHOD_DELETE, // DELETE 方法
38  HTTP_METHOD_HEAD, // HEAD 方法
39  HTTP_METHOD_OPTION, // OPTION 方法
40  HTTP_METHOD_PROPFIND, // PROPFIND 方法
41  HTTP_METHOD_PATCH, // PATCH 方法
42  HTTP_METHOD_OTHER, // 其它的方法
http_method_t
Definition: http_type.hpp:29

◆ http_mime_t

枚举值
HTTP_MIME_PARAM 
HTTP_MIME_FILE 

在文件 http_type.hpp78 行定义.

79 {
80  HTTP_MIME_PARAM, // http mime 结点为参数类型
81  HTTP_MIME_FILE // http mime 结点为文件类型
82 } http_mime_t;
http_mime_t
Definition: http_type.hpp:78

◆ http_request_error_t

枚举值
HTTP_REQ_OK 
HTTP_REQ_ERR_IO 
HTTP_REQ_ERR_METHOD 

在文件 http_type.hpp66 行定义.

67 {
68  // ok
70 
71  // network io error
73 
74  // invalid request method
http_request_error_t
Definition: http_type.hpp:66

◆ http_request_t

枚举值
HTTP_REQUEST_NORMAL 
HTTP_REQUEST_MULTIPART_FORM 
HTTP_REQUEST_OCTET_STREAM 
HTTP_REQUEST_TEXT_XML 
HTTP_REQUEST_TEXT_JSON 
HTTP_REQUEST_OTHER 

在文件 http_type.hpp45 行定义.

46 {
47  // Content-Type: application/x-www-form-urlencoded
49 
50  // Content-Type: multipart/form-data; boundary=xxx
52 
53  // Content-Type: application/octet-stream
55 
56  // Content-Type: text/xml 或 application/xml
58 
59  // Content-Type: text/json 或 application/json
61 
62  // 其它类型
http_request_t
Definition: http_type.hpp:45

◆ http_status_t

枚举值
HTTP_OK 
HTTP_ERR_DNS 
HTTP_ERR_CONN 
HTTP_ERR_REQ 
HTTP_ERR_READ 
HTTP_ERR_SEND 
HTTP_ERR_TIMO 
HTTP_ERR_READ_HDR 
HTTP_ERR_READ_BODY 
HTTP_ERR_INVALID_HDR 
HTTP_ERR_UNKNOWN 
HTTP_ERR_REDIRECT_MAX 

在文件 http_type.hpp12 行定义.

13 {
14  HTTP_OK, // 一切正常
15  HTTP_ERR_DNS, // 域名解析失败
16  HTTP_ERR_CONN, // 连接服务器失败
17  HTTP_ERR_REQ, // 创建请求协议失败
18  HTTP_ERR_READ, // 读数据失败
19  HTTP_ERR_SEND, // 写数据失败
20  HTTP_ERR_TIMO, // 读写数据超时
21  HTTP_ERR_READ_HDR, // 读 HTTP 响应头失败
22  HTTP_ERR_READ_BODY, // 读 HTTP 响应体失败
23  HTTP_ERR_INVALID_HDR, // HTTP 响应头无效
24  HTTP_ERR_UNKNOWN, // 出现了未知错误
25  HTTP_ERR_REDIRECT_MAX, // HTTP 响应头中重定向次数太多
http_status_t
Definition: http_type.hpp:12

◆ io_status

枚举值
IO_WAIT_HDR 
IO_WAIT_DAT 

在文件 ipc_client.hpp19 行定义.

◆ mbedtls_verify_t

SSL 证书校验级别类型定义

枚举值
MBEDTLS_VERIFY_NONE 
MBEDTLS_VERIFY_OPT 
MBEDTLS_VERIFY_REQ 

在文件 mbedtls_conf.hpp13 行定义.

14 {
15  MBEDTLS_VERIFY_NONE, // 不校验证书
16  MBEDTLS_VERIFY_OPT, // 选择性校验,可以在握手时或握手后校验
17  MBEDTLS_VERIFY_REQ // 要求在握手时校验
mbedtls_verify_t

◆ mqtt_conn_status_t

枚举值
CONNECT_ACCEPTED 
CONNECT_INVALID_VERSION 
CONNECT_INVALID_CID 
CONNECT_NOT_AVAIL 
CONNECT_LOGIN_FAILED 
CONNECT_NO_AUTHORITY 

在文件 mqtt_connect.hpp7 行定义.

◆ mqtt_option_t

枚举值
MQTT_NONE 
MQTT_NEED 
MQTT_MAYBE 

在文件 mqtt_header.hpp29 行定义.

◆ mqtt_qos_t

all the qos type of mqtt

枚举值
MQTT_QOS0 
MQTT_QOS1 
MQTT_QOS2 

在文件 mqtt_header.hpp38 行定义.

38  {
39  MQTT_QOS0 = 0x0,
40  MQTT_QOS1 = 0x1,
41  MQTT_QOS2 = 0x2,
42 } mqtt_qos_t;
mqtt_qos_t
Definition: mqtt_header.hpp:38

◆ mqtt_type_t

all the mqtt types were defined below.

枚举值
MQTT_RESERVED_MIN 
MQTT_CONNECT 
MQTT_CONNACK 
MQTT_PUBLISH 
MQTT_PUBACK 
MQTT_PUBREC 
MQTT_PUBREL 
MQTT_PUBCOMP 
MQTT_SUBSCRIBE 
MQTT_SUBACK 
MQTT_UNSUBSCRIBE 
MQTT_UNSUBACK 
MQTT_PINGREQ 
MQTT_PINGRESP 
MQTT_DISCONNECT 
MQTT_RESERVED_MAX 

在文件 mqtt_header.hpp10 行定义.

◆ polarssl_verify_t

SSL 证书校验级别类型定义

枚举值
POLARSSL_VERIFY_NONE 
POLARSSL_VERIFY_OPT 
POLARSSL_VERIFY_REQ 

在文件 polarssl_conf.hpp13 行定义.

14 {
15  POLARSSL_VERIFY_NONE, // 不校验证书
16  POLARSSL_VERIFY_OPT, // 选择性校验,可以在握手时或握手后校验
17  POLARSSL_VERIFY_REQ // 要求在握手时校验
polarssl_verify_t

◆ redis_key_t

枚举值
REDIS_KEY_NONE 
REDIS_KEY_STRING 
REDIS_KEY_HASH 
REDIS_KEY_LIST 
REDIS_KEY_SET 
REDIS_KEY_ZSET 

在文件 redis_key.hpp13 行定义.

◆ redis_pipeline_type_t

枚举值
redis_pipeline_t_cmd 
redis_pipeline_t_redirect 
redis_pipeline_t_clusterdonw 
redis_pipeline_t_stop 

在文件 redis_client_pipeline.hpp24 行定义.

◆ redis_result_t

枚举值
REDIS_RESULT_UNKOWN 
REDIS_RESULT_NIL 
REDIS_RESULT_ERROR 
REDIS_RESULT_STATUS 
REDIS_RESULT_INTEGER 
REDIS_RESULT_STRING 
REDIS_RESULT_ARRAY 

在文件 redis_result.hpp11 行定义.

◆ rfc1035_type_t

枚举值
rfc1035_type_null 
rfc1035_type_a 
rfc1035_type_aaaa 
rfc1035_type_mx 
rfc1035_type_txt 
rfc1035_type_ptr 

在文件 rfc1035.hpp14 行定义.

◆ time_unit_t

时间单位类型

枚举值
time_unit_s 
time_unit_ms 
time_unit_us 
time_unit_ns 

在文件 stream.hpp14 行定义.

14  {
15  time_unit_s, // 秒
16  time_unit_ms, // 毫秒
17  time_unit_us, // 微秒
18  time_unit_ns, // 纳秒
19 } time_unit_t;
time_unit_t
Definition: stream.hpp:14

◆ todo_t

枚举值
TODO_NUL 
TODO_SET 
TODO_DEL 

在文件 session.hpp13 行定义.

14 {
15  TODO_NUL,
16  TODO_SET,
17  TODO_DEL
18 } todo_t;
todo_t
Definition: session.hpp:13

◆ tzone_t

枚举值
tzone_gmt 
tzone_cst 

在文件 rfc822.hpp20 行定义.

21 {
22  tzone_gmt,
23  tzone_cst
24 } tzone_t;
tzone_t
Definition: rfc822.hpp:20

◆ zlib_flush_t

压缩或解压过程中的缓存模式,即在压缩或解压过程中是否立刻刷新 到缓冲区为了获得比较高的压缩比,应该选择 zlib_flush_off 方式

枚举值
zlib_flush_off 
zlib_flush_partial 
zlib_flush_sync 
zlib_flush_full 
zlib_flush_finish 

在文件 zlib_stream.hpp66 行定义.

67 {
68  zlib_flush_off = 0, // 不立即刷新至用户缓存
69  zlib_flush_partial = 1, // 刷新部分至用户缓存
70  zlib_flush_sync = 2, // 同步刷新
71  zlib_flush_full = 3, // 完全刷新
72  zlib_flush_finish = 4 // 完全刷新并停止压缩或解压过程
73 } zlib_flush_t;
zlib_flush_t
Definition: zlib_stream.hpp:66

◆ zlib_level_t

压缩级别类型定义,该集合定义了压缩速度及压缩比的一个可选方式 所选的压缩值越高,则压缩比会更大,但压缩速度会越低

枚举值
zlib_default 
zlib_level0 
zlib_best_speed 
zlib_level1 
zlib_level2 
zlib_level3 
zlib_level4 
zlib_level5 
zlib_level6 
zlib_level7 
zlib_level8 
zlib_best_compress 
zlib_level9 

在文件 zlib_stream.hpp13 行定义.

14 {
15  zlib_default = -1, // 缺省的压缩比
16  zlib_level0 = 0, // 最低的压缩比,其实就是不压缩
17  zlib_best_speed = 1, // 压缩速度最快的压缩比
19  zlib_level2 = 2,
20  zlib_level3 = 3,
21  zlib_level4 = 4,
22  zlib_level5 = 5,
23  zlib_level6 = 6,
24  zlib_level7 = 7,
25  zlib_level8 = 8,
26  zlib_best_compress = 9, // 最高的压缩比,最低的压缩速度
28 } zlib_level_t;
zlib_level_t
Definition: zlib_stream.hpp:13

◆ zlib_mlevel_t

压缩过程中的内存分配策略,值越大使用内存越多

枚举值
zlib_mlevel_1 
zlib_mlevel_2 
zlib_mlevel_3 
zlib_mlevel_4 
zlib_mlevel_5 
zlib_mlevel_6 
zlib_mlevel_7 
zlib_mlevel_8 
zlib_mlevel_9 

在文件 zlib_stream.hpp49 行定义.

函数说明

◆ acl_cpp_init()

ACL_CPP_API void acl::acl_cpp_init ( void  )

在 _WIN32 dos 窗口下,如果需要使用套接口操作, 则需要先调用此函数进行初始化

◆ acl_cpp_verbose()

ACL_CPP_API const char* acl::acl_cpp_verbose ( void  )

获得当前 acl_cpp 库所开放的能力

返回
{const char*} 返回非空字符串

◆ acl_delete()

ACL_CPP_API void acl::acl_delete ( void *  ptr,
const char *  filename,
const char *  funcname,
int  lineno 
)

释放内存函数

参数
ptr{void*} 内存地址
filename{const char*} 源程序名字
funcname{const char*} 函数名
lineno{int} 源程序行号

◆ acl_new()

ACL_CPP_API void* acl::acl_new ( size_t  size,
const char *  filename,
const char *  funcname,
int  lineno 
)

内存分配函数

参数
size{size_t} 需要分配的尺寸大小
filename{const char*} 源程序名字
funcname{const char*} 函数名
lineno{int} 源程序行号
返回
{void*} 分配的内存地址,如果分配内存失败,则直接abort

◆ acl_slice_init()

ACL_CPP_API void acl::acl_slice_init ( void  )

◆ assert_()

ACL_CPP_API void acl::assert_ ( bool  n)

◆ atomic_cas()

void* acl::atomic_cas ( void *  ,
void *  ,
void *   
)

◆ atomic_free()

void acl::atomic_free ( void *  )

被这些函数引用 acl::atomic< long long >::~atomic().

+ 这是这个函数的调用关系图:

◆ atomic_new()

void* acl::atomic_new ( void  )

被这些函数引用 acl::atomic< long long >::atomic().

+ 这是这个函数的调用关系图:

◆ atomic_set()

void acl::atomic_set ( void *  ,
void *   
)

被这些函数引用 acl::atomic< long long >::atomic().

+ 这是这个函数的调用关系图:

◆ atomic_xchg()

void* acl::atomic_xchg ( void *  ,
void *   
)

被这些函数引用 acl::atomic< long long >::xchg().

+ 这是这个函数的调用关系图:

◆ channel_create()

ACL_CHANNEL* acl::channel_create ( int  elemsize,
int  bufsize 
)

被这些函数引用 acl::channel< T >::channel().

+ 这是这个函数的调用关系图:

◆ channel_free()

void acl::channel_free ( ACL_CHANNEL c)

被这些函数引用 acl::channel< T >::~channel().

+ 这是这个函数的调用关系图:

◆ channel_recv()

int acl::channel_recv ( ACL_CHANNEL c,
void *  v 
)

被这些函数引用 acl::channel< T >::pop().

+ 这是这个函数的调用关系图:

◆ channel_send()

int acl::channel_send ( ACL_CHANNEL c,
void *  v 
)

被这些函数引用 acl::channel< T >::put().

+ 这是这个函数的调用关系图:

◆ deserialize()

template<typename T >
bool acl::deserialize ( json j,
T &  o,
string err = NULL 
)

在文件 serialize.hpp11 行定义.

12 {
13  if (!j.finish())
14  {
15  if (err)
16  err->append("json not complete yet!");
17  return false;
18  }
19 
20  std::pair<bool, std::string> r = gson(j.get_root(), o);
21  if (r.first == false)
22  {
23  if (err)
24  err->format_append("deserialize error=%s, json=[%s]",
25  r.second.c_str(), j.to_string().c_str());
26  return false;
27  }
28 
29  return true;
30 }

引用了 acl::string::c_str(), acl::json::finish(), acl::json::get_root() , 以及 acl::json::to_string().

+ 函数调用图:

◆ escape()

ACL_CPP_API void acl::escape ( const char *  in,
size_t  len,
string out 
)

◆ get_curr_stamp()

ACL_CPP_API long long acl::get_curr_stamp ( void  )

被这些函数引用 acl::timer_trigger< T >::add() , 以及 acl::timer_trigger< T >::trigger().

+ 这是这个函数的调用关系图:

◆ last_error()

ACL_CPP_API int acl::last_error ( void  )

获得上次系统调用出错时的错误号

返回
{int} 错误号

◆ last_serror() [1/2]

ACL_CPP_API const char* acl::last_serror ( void  )

获得上次系统调用出错时的错误描述信息,该函数内部采用了线程局部变量,所以是线程 安全的,但使用起来更简单些

返回
{const char *} 返回错误提示信息

◆ last_serror() [2/2]

ACL_CPP_API const char* acl::last_serror ( char *  buf,
size_t  size 
)

获得上次系统调用出错时的错误描述信息

参数
buf{char*} 存储错误描述信息的内存缓冲区
size{int} buffer 的空间大小
返回
{const char*} 返回的地址应与 buffer 相同

◆ mbox_create()

void* acl::mbox_create ( bool  mpsc)

被这些函数引用 acl::mbox< acl::redis_pipeline_message >::mbox().

+ 这是这个函数的调用关系图:

◆ mbox_free()

void acl::mbox_free ( void *  ,
void(*)(void *)  free_fn 
)

被这些函数引用 acl::mbox< acl::redis_pipeline_message >::~mbox().

+ 这是这个函数的调用关系图:

◆ mbox_nread()

size_t acl::mbox_nread ( void *  )

被这些函数引用 acl::mbox< acl::redis_pipeline_message >::pop_count().

+ 这是这个函数的调用关系图:

◆ mbox_nsend()

size_t acl::mbox_nsend ( void *  )

被这些函数引用 acl::mbox< acl::redis_pipeline_message >::push_count().

+ 这是这个函数的调用关系图:

◆ mbox_read()

void* acl::mbox_read ( void *  ,
int  ,
bool *   
)

被这些函数引用 acl::mbox< acl::redis_pipeline_message >::pop().

+ 这是这个函数的调用关系图:

◆ mbox_send()

bool acl::mbox_send ( void *  ,
void *   
)

被这些函数引用 acl::mbox< acl::redis_pipeline_message >::push().

+ 这是这个函数的调用关系图:

◆ meter_time()

ACL_CPP_API void acl::meter_time ( const char *  filename,
int  line,
const char *  info 
)

◆ mqtt_qos_desc()

const char* acl::mqtt_qos_desc ( mqtt_qos_t  qos)

get description of the specified mqtt qos.

参数
qos{mqtt_qos_t}
返回
{const char*}

◆ mqtt_type_desc()

const char* acl::mqtt_type_desc ( mqtt_type_t  type)

get description of the specified mqtt type.

参数
type{mqtt_type_t}
返回
{const char*}

◆ operator+()

template<typename T >
string acl::operator+ ( v,
const string rhs 
)

模板函数,可用在以下场景: string s1, s2; T v; s1 = v + s2;

在文件 string.hpp1309 行定义.

1310 {
1311  string s;
1312  s = v;
1313  s += rhs;
1314  return s;
1315 }

◆ safe_snprintf()

ACL_CPP_API int acl::safe_snprintf ( char *  buf,
size_t  size,
const char *  fmt,
  ... 
)

标准 C snprintf API 封装,可以保证结果缓冲区中的最后一个字节为 '\0'

参数
buf{char*} 存储结果的缓冲区
size{size_t} buf 缓冲区长度
fmt{const char*} 变参格式字符串
返回
{int} 当缓冲区长度够用时返回实际拷贝的数据长度,否则: 1) UNIX/LINUX 平台下返回实际需要的缓冲区长度,即当缓冲区长度不够时返回值 >= size;需要注意该返回值的含义与 _WIN32 下的不同 2) _WIN32 平台下返回 -1

◆ safe_vsnprintf()

ACL_CPP_API int acl::safe_vsnprintf ( char *  buf,
size_t  size,
const char *  fmt,
va_list  ap 
)

标准 C snprintf API 封装,可以保证结果缓冲区中的最后一个字节为 '\0'

参数
buf{char*} 存储结果的缓冲区
size{size_t} buf 缓冲区长度
fmt{const char*} 变参格式字符串
ap{va_list} 变参变量
返回
{int} 当缓冲区长度够用时返回实际拷贝的数据长度,否则: 1) UNIX/LINUX 平台下返回实际需要的缓冲区长度,即当缓冲区长度不够时返回值 >= size;需要注意该返回值的含义与 _WIN32 下的不同 2) _WIN32 平台下返回 -1

◆ serialize()

template<typename T >
void acl::serialize ( T &  o,
string buf 
)

在文件 serialize.hpp33 行定义.

34 {
35  json j;
36  json_node& n = gson(j, o);
37  (void) n.to_string(&buf);
38  buf += "\r\n";
39 }

引用了 acl::json_node::to_string().

+ 函数调用图:

◆ set_error()

ACL_CPP_API void acl::set_error ( int  errnum)

手工设置错误号

参数
errnum{int} 错误号

◆ stamp_sub()

ACL_CPP_API double acl::stamp_sub ( const struct timeval &  from,
const struct timeval &  sub 
)

◆ string_error()

ACL_CPP_API const char* acl::string_error ( int  errnum,
char *  buf,
size_t  size 
)

类似于标准C的 strerror, 但该函数是跨平台且是线程安全的,获得对应某个错误 号的错误描述信息

参数
errnum{int} 错误号
buf{char*} 存储错误描述信息的内存缓冲区
size{int} buffer 缓冲区的大小
返回
{const char*} 返回的地址应与 buffer 相同

◆ strncasecmp_()

ACL_CPP_API int acl::strncasecmp_ ( const char *  s1,
const char *  s2,
size_t  n 
)

◆ test_logger()

ACL_CPP_API void acl::test_logger ( void  )

◆ test_snprintf()

ACL_CPP_API void acl::test_snprintf ( void  )

◆ unescape()

ACL_CPP_API bool acl::unescape ( const char *  in,
size_t  len,
string out 
)