1. 27 4月, 2018 40 次提交
    • Y
      Fix reconnecting mechanism in demo ssl_test. · 0b1cacb1
      youngwolf 提交于
      0b1cacb1
    • Y
      1.4.1 release. · 6b390da7
      youngowlf 提交于
      Fix race condition on member variable last_send_msg in st_tcp_socket_base.
      Optimize reconnecting mechanism.
      Enhance class st_timer.
      Rename st_connector_base and st_ssl_connector_base to st_client_socket_base and st_ssl_client_socket_base, the former is still available, but is just an alias.
      6b390da7
    • Y
      Make reconnecting after all async invocations (like object reusing or restoration). · 5f49dc7d
      youngwolf 提交于
      Drop virtual function socket::is_closable.
      5f49dc7d
    • Y
      1.4.0 release. · 6b800a05
      youngwolf 提交于
      Support object restoration (on server side).
      Re-implement heartbeat function, use user data instead of OOB.
      Refactor and optimize ssl object, now st_ssl_connector_base and st_ssl_server_socket_base are reuable.
      
      Not compatible with old versions, please note.
      See st_asio_wrapper.h for more details about this release.
      6b800a05
    • Y
      prefix_suffix packer and unpacker satisfy asio 1.11 · 84328b09
      youngowlf 提交于
      84328b09
    • Y
      A trivial change. · 924e7910
      youngwolf 提交于
      924e7910
    • Y
      Make test_client easier to use. · 56b7dc3d
      youngwolf 提交于
      Support asio 1.11.x
      56b7dc3d
    • Y
      Standard edtion not support VC++ 10.0 anymore. · 5bbd6c44
      youngowlf 提交于
      5bbd6c44
    • W
      Disable heartbeat by default. · 0ec2589e
      wolf 提交于
      Sync doc.
      Version number keeps unchanged.
      0ec2589e
    • Y
      1.3.5 release. · b5fe6e25
      youngowlf 提交于
      Support heartbeat (via OOB data), see ST_ASIO_HEARTBEAT_INTERVAL macro for more details.
      Support scatter-gather buffers when receiving messages, this feature needs modification of i_unpacker, you must explicitly define
       ST_ASIO_SCATTERED_RECV_BUFFER macro to open it, this is just for compatibility.
      Simplify lock-free mechanism.
      Optimize container insertion (use series of emplace functions instead).
      Demo test_client support alterable number of sending thread (before, it's a hard code 16).
      Fix bug: In extreme cases, messages may get starved in receive buffer and will not be dispatched until arrival of next message.
      Fix bug: In extreme cases, messages may get starved in send buffer and will not be sent until arrival of next message.
      Fix bug: Sometimes, st_connector_base cannot reconnect to the server after link broken.
      
      known issues:
      1. heartbeat mechanism cannot work properly between windows (at least win-10) and Ubuntu (at least Ubuntu-16.04).
      b5fe6e25
    • Y
      1.3.4 release. · f12eb7d9
      youngwolf 提交于
      Compatible edition support c++0x (11, 14, 17, ...) features too.
      Monitor time consumptions for message packing and unpacking.
      Fix bug: pop_first_pending_send_msg and pop_first_pending_recv_msg cannot compile.
      f12eb7d9
    • Y
      bce33a46
    • Y
      Continue last commit. · 730858f9
      youngwolf 提交于
      730858f9
    • Y
      1.3.3 release. · e281531a
      youngwolf 提交于
      Simplify header files' dependence.
      Yield to Visual C++ 10.0
      Add Visual C++ solution and project files (Visuall C++ 11.0 and 9.0).
      e281531a
    • Y
      1.3.2 release. · 6899d564
      youngwolf 提交于
      Use ST_ASIO_DELAY_CLOSE instead of ST_ASIO_ENHANCED_STABILITY macro to control delay close duration,
       0 is an equivalent of defining ST_ASIO_ENHANCED_STABILITY, other values keep the same meanings as before.
      Move st_socket::closing related logic to st_object.
      Make st_socket::id(uint_fast64_t) private to avoid changing IDs by users.
      Call close at the end of shutdown function, just for safety.
      Introduce lock-free mechanism for some appropriate logics (many requesters, only one can succeed, others will fail rather than wait).
      Remove all mutex (except mutex in st_object_pool, st_service_pump, lock_queue and st_udp_socket).
      Sharply simplified st_timer class.
      6899d564
    • Y
      1.3.1 release. · ca2c9734
      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--ST_ASIO_INPUT_QUEUE, ST_ASIO_INPUT_CONTAINER, ST_ASIO_OUTPUT_QUEUE and ST_ASIO_OUTPUT_CONTAINER.
      In contrast to non_lock_queue, rename message_queue to lock_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 st_socket to reduce template tiers.
      ca2c9734
    • Y
      1.3.0 release. · e7c3eb2c
      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).
      e7c3eb2c
    • W
      Sync doc. · a573ef27
      wolf 提交于
      Make shutdown operation thread safe.
      Decouple object and container (for example, st_server_socket and st_server).
      Drop ssize_t definition for Visual C++.
      Version number keeps unchanged.
      a573ef27
    • Y
      1.2.0 release. · 4790f279
      youngowlf 提交于
      Add on_close() event, For more change logs, please refer to st_asio_wrapper.h
      4790f279
    • Y
      Fix wrong rebase. · 5bcfb3ab
      youngowlf 提交于
      5bcfb3ab
    • W
      Fix typo. · 3e40be95
      wolf 提交于
      3e40be95
    • Y
      prefix_suffix packer and unpacker satisfy asio 1.11 · d4023de8
      youngowlf 提交于
      d4023de8
    • W
      Support asio 1.11.x · 2fb44728
      wolf 提交于
      2fb44728
    • W
      Fix dypos. · f83988bd
      wolf 提交于
      f83988bd
    • Y
      Support optional timers (deadline_timer, steady_timer and system_timer). · b02e1720
      youngowlf 提交于
      Split ext/st_asio_wrapper_net.h into ext/st_asio_wrapper_client.h, ext/st_asio_wrapper_server.h and ext/st_asio_wrapper_udp.h.
      Add virtual function st_server_base::on_accept_error, it controls whether to continue the acception or not when error occurred.
      b02e1720
    • Y
      2920a73a
    • W
      Fix bug: if receive buffer overflow and on_msg returns false (which means using receive buffer), · 18b82010
      wolf 提交于
       st_socket will call on_msg again and again (asynchronously) for the same msg until receive buffer becomes available.
      18b82010
    • Y
      Dropped an unused variable in file_client. · 8081a77f
      youngwolf 提交于
      8081a77f
    • Y
      Renamed proxy_buffer to auto_buffer. · 3a14d5d3
      youngwolf 提交于
      Added a new replaceable buffer shared_buffer.
      3a14d5d3
    • Y
      1.1.1 release. · 06525a8b
      youngwolf 提交于
      Fix bug: the last msg will not be re-dispatched if on_msg_handle returned false until new msgs come in.
      Drop timer TIMER_SUSPEND_DISPATCH_MSG, it's useless.
      Send more msgs in one async_write call.
      Fix annotations.
      06525a8b
    • Y
      1.1.1 release. · 87ab534d
      youngowlf 提交于
      Fix bug: the last msg will not be re-dispatched if on_msg_handle returned false until new msgs come in.
      Drop timer TIMER_SUSPEND_DISPATCH_MSG, it's useless.
      87ab534d
    • Y
      Continue last committing. · 58fa0485
      youngowlf 提交于
      58fa0485
    • Y
      Fix bug: the last msg will not be re-dispatched if on_msg_handle returned... · 6c769d77
      youngwolf 提交于
      Fix bug: the last msg will not be re-dispatched if on_msg_handle returned false until new msgs come in.
      Drop timer TIMER_SUSPEND_DISPATCH_MSG, it's useless.
      6c769d77
    • Y
      Continue last committing. · f645a52a
      youngwolf 提交于
      f645a52a
    • Y
      Continue last committing. · 061ba41b
      youngwolf 提交于
      061ba41b
    • Y
      Send more msgs in one async_write call. · 648b247d
      youngwolf 提交于
      648b247d
    • Y
      Fix annotations. · 0ddfbfc2
      youngwolf 提交于
      0ddfbfc2
    • Y
      Add efficiency statistic for performance tuning, and can be shut down. · 4f7b198b
      youngwolf 提交于
      Move packers and unpackers out of 'include' directory (now in 'ext' directory), they don't belong to st_asio_wrapper library.
      Add pingpong test.
      Add streaming unpacker to receive native data.
      Support non-copyable msgs.
      Make asio_server and test_client more appropriate for performance tunning.
      4f7b198b
    • Y
      Sync doc. · 5e0bf6e1
      youngwolf 提交于
      5e0bf6e1
    • Y
      Add 1.1 change log. · cf8f97a3
      youngwolf 提交于
      cf8f97a3