- 12 7月, 2019 1 次提交
-
-
由 yang li 提交于
Use std::forward_list instead of std::list, and implement size concept like boost::container::slist does.
-
- 28 5月, 2019 1 次提交
-
-
由 yang li 提交于
-
- 17 5月, 2019 1 次提交
-
-
由 yang li 提交于
-
- 12 2月, 2019 1 次提交
-
-
由 yang li 提交于
-
- 11 2月, 2019 1 次提交
-
-
由 youngwolf 提交于
Explicitly require the first parameter to be rvalue reference for i_packer::pack_msg(container_type&&, container_type&).
-
- 10 2月, 2019 1 次提交
-
-
由 youngwolf 提交于
-
- 31 1月, 2019 1 次提交
-
-
由 youngwolf 提交于
Delegate supression of memory replication to packers, so rename i_packer::pack_header to another overload of pack_msg. See built-in packers for more details.
-
- 30 1月, 2019 1 次提交
-
-
由 youngwolf 提交于
-
- 26 1月, 2019 1 次提交
-
-
由 youngwolf 提交于
-
- 23 1月, 2019 2 次提交
- 21 1月, 2019 1 次提交
-
-
由 youngwolf 提交于
Make client_socket_base be able to call multi_client_base (via i_matrix) like server_socket_base call server_base (via i_server), and so does ssl::client_socket_base and udp::socket_base.
-
- 10 1月, 2019 1 次提交
-
-
由 yang li 提交于
-
- 09 1月, 2019 3 次提交
- 11 10月, 2018 1 次提交
-
-
由 YangLi 提交于
-
- 29 9月, 2018 1 次提交
-
-
由 youngwolf 提交于
-
- 28 9月, 2018 1 次提交
-
-
由 youngwolf 提交于
-
- 18 9月, 2018 2 次提交
- 14 9月, 2018 1 次提交
-
-
由 youngwolf 提交于
-
- 13 9月, 2018 1 次提交
-
-
由 youngwolf 提交于
Fix spurious awakenings when doing sync message sending and receiving. Support timed waiting when doing sync message sending and receiving.
-
- 30 8月, 2018 1 次提交
-
-
由 youngwolf 提交于
-
- 29 8月, 2018 1 次提交
-
-
由 YangLi 提交于
-
- 26 8月, 2018 1 次提交
-
-
由 youngwolf 提交于
Dummy empty messages will not be returned from sync_recv_msg(). sync_recv_msg() will just append new messages to msg_can instead of replacing all messages in msg_can with new messages.
-
- 21 8月, 2018 2 次提交
- 20 8月, 2018 1 次提交
-
-
由 YangLi 提交于
-
- 19 8月, 2018 1 次提交
-
-
由 youngwolf 提交于
-
- 12 7月, 2018 1 次提交
-
-
由 youngowlf 提交于
-
- 10 7月, 2018 1 次提交
-
-
由 youngwolf 提交于
-
- 02 5月, 2018 1 次提交
-
-
由 youngwolf 提交于
Generalize function send_msg, send_native_msg, safe_send_msg, safe_send_native_msg, broadcast_msg, broadcast_native_msg, safe_broadcast_msg and safe_broadcast_native_msg.
-
- 30 4月, 2018 1 次提交
-
-
由 youngwolf 提交于
-
- 27 4月, 2018 1 次提交
-
-
由 youngwolf 提交于
-
- 26 4月, 2018 5 次提交
-
-
由 youngwolf 提交于
Support object restoration (on server side). Re-implement heartbeat function, use user data instead of OOB. Refactor and optimize ssl object, now ssl::commector_base and ssl::server_socket_base are reuable. Not compatible with old versions, please note. See config.h for more details about this release.
-
由 wolf 提交于
Sync doc. Version number keeps unchanged.
-
由 youngowlf 提交于
Support heartbeat (via OOB data), see ASCS_HEARTBEAT_INTERVAL macro for more details. Support scatter-gather buffers when receiving messages, this feature needs modification of i_unpacker, you must explicitly define ASCS_SCATTERED_RECV_BUFFER macro to open it, this is just for compatibility. Simplify lock-free mechanism and use std::atomic_flag instead of std::atomic_size_t. Optimize container insertion (use series of emplace functions instead). Demo echo_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, 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).
-
由 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.
-
由 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.
-