1. 26 4月, 2018 3 次提交
    • Y
      1.1.2 release. · afbf6243
      youngwolf 提交于
      Fix bug: ascs::list cannot be moved properly via moving constructor.
      Use ASCS_DELAY_CLOSE instead of ASCS_ENHANCED_STABILITY macro to control delay close duration,
       0 is an equivalent of defining ASCS_ENHANCED_STABILITY, other values keep the same meanings as before.
      Move ascs::socket::closing related logic to ascs::object.
      Make ascs::socket::id(uint_fast64_t) private to avoid changing IDs by users.
      Call close at the end of shutdown function, just for safety.
      Add move capture in lambda.
      Optimize lambda expressions.
      afbf6243
    • Y
      1.1.1 release. · 2aabeebb
      youngwolf 提交于
      Support non-lock queue, it's totally not thread safe and lock-free, it can improve IO throughput with particular business.
      Demonstrate how and when to use non-lock queue as the input and output message buffer.
      Queues (and their internal containers) used as input and output message buffer are now configurable (by macros or template arguments).
      New macros--ASCS_INPUT_QUEUE, ASCS_INPUT_CONTAINER, ASCS_OUTPUT_QUEUE and ASCS_OUTPUT_CONTAINER.
      Drop macro ASCS_USE_CONCURRENT_QUEUE, rename macro ASCS_USE_CONCURRE to ASCS_HAS_CONCURRENT_QUEUE.
      In contrast to non_lock_queue, split message_queue into lock_queue and lock_free_queue.
      Move container related classes and functions from st_asio_wrapper_base.h to st_asio_wrapper_container.h.
      Improve efficiency in scenarios of low throughput like pingpong test.
      Replaceable packer/unpacker now support replaceable_buffer (an alias of auto_buffer) and shared_buffer to be their message type.
      Move class statistic and obj_with_begin_time out of ascs::socket to reduce template tiers.
      2aabeebb
    • Y
      Support concurrent queue (https://github.com/cameron314/concurrentqueue), it's lock-free. · 66308c58
      youngowlf 提交于
      Optimize locks on msg sending and dispatching.
      Drop original congestion control and add a semi-automatic congestion control.
      Drop post_msg_buffer and corresponding functions (like post_msg()), timer (ascs::socket::TIMER_HANDLE_POST_BUFFER).
      66308c58
  2. 28 9月, 2016 1 次提交
    • W
      Sync doc. · eb2d1827
      wolf 提交于
      ext directory refactoring.
      Add ascs::ext::tcp, ascs::ext::udp and ascs::ext::ssl name spaces.
      Make timer_info's member variables mutable (except the id), so we can change them in std::set.
      Make shutdown operation thread safe.
      Drop macro ASCS_OBSOLETED_OBJECT_LIFE_TIME and ASCS_THIS, and ssize_t definition for Visual C++.
      Fix bug: repeatedly join the same service thread while stopping service_pump if you restarted it.
      Version number keeps unchanged.
      eb2d1827
  3. 17 9月, 2016 1 次提交
    • Y
      ascs first release, version 1.0.0 · 301e46b6
      youngwolf 提交于
      Strip boost (Based on st_asio_wrapper 1.1.3).
      Need c++14, if your compiler detected duplicated 'shared_mutex' definition, please define ASCS_HAS_STD_SHARED_MUTEX macro.
      Need to define ASIO_STANDALONE and ASIO_HAS_STD_CHRONO macros.
      Collect all macros together.
      301e46b6