{"push_id":2518265990,"size":25,"distinct_size":9,"ref":"refs/heads/1.2","head":"7b42c4b59ecb21c74ef4ec2bcefff749b784ab9a","before":"a75365f1cb2601cd97e9d04b85d31b5ae4c10684","commits":[{"sha":"447bef406de3cfd0f79a0eda1e72b9afc80ae12c","author":{"name":"wolf","email":"a3cb738850fa39be667c4d6428d72aee854b2cc7@debian-8.3"},"message":"Fix typos.","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/447bef406de3cfd0f79a0eda1e72b9afc80ae12c"},{"sha":"dd3c0c0badb6ea069dda5c52ba5bbc99c9d00c50","author":{"name":"wolf","email":"a3cb738850fa39be667c4d6428d72aee854b2cc7@debian-8.3"},"message":"Support asio 1.11.x","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/dd3c0c0badb6ea069dda5c52ba5bbc99c9d00c50"},{"sha":"a11e8d42e2cc5c44dbc4c472df5d092aa633b29f","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"prefix_suffix packer and unpacker satisfy asio 1.11","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/a11e8d42e2cc5c44dbc4c472df5d092aa633b29f"},{"sha":"66308c58b39f7698520b4d908b12d22e87bfadd2","author":{"name":"youngowlf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"Support concurrent queue (https://github.com/cameron314/concurrentqueue), it's lock-free.\nOptimize locks on msg sending and dispatching.\nDrop original congestion control and add a semi-automatic congestion control.\nDrop post_msg_buffer and corresponding functions (like post_msg()), timer (ascs::socket::TIMER_HANDLE_POST_BUFFER).","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/66308c58b39f7698520b4d908b12d22e87bfadd2"},{"sha":"232247da0a8953acbd19837432f5a1068f6e0144","author":{"name":"youngowlf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"1.1.0 release.\nSupport concurrent queue (https://github.com/cameron314/concurrentqueue), it's lock-free.\nOptimize locks on msg sending and dispatching.\nDrop original congestion control and add a semi-automatic congestion control.\nDrop post_msg_buffer and corresponding functions (like post_msg()), timer (ascs::socket::TIMER_HANDLE_POST_BUFFER).","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/232247da0a8953acbd19837432f5a1068f6e0144"},{"sha":"2aabeebb9a3e401faa6e8499b3286c06cd349c2f","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"1.1.1 release.\nSupport non-lock queue, it's totally not thread safe and lock-free, it can improve IO throughput with particular business.\nDemonstrate how and when to use non-lock queue as the input and output message buffer.\nQueues (and their internal containers) used as input and output message buffer are now configurable (by macros or template arguments).\nNew macros--ASCS_INPUT_QUEUE, ASCS_INPUT_CONTAINER, ASCS_OUTPUT_QUEUE and ASCS_OUTPUT_CONTAINER.\nDrop macro ASCS_USE_CONCURRENT_QUEUE, rename macro ASCS_USE_CONCURRE to ASCS_HAS_CONCURRENT_QUEUE.\nIn contrast to non_lock_queue, split message_queue into lock_queue and lock_free_queue.\nMove container related classes and functions from st_asio_wrapper_base.h to st_asio_wrapper_container.h.\nImprove efficiency in scenarios of low throughput like pingpong test.\nReplaceable packer/unpacker now support replaceable_buffer (an alias of auto_buffer) and shared_buffer to be their message type.\nMove class statistic and obj_with_begin_time out of ascs::socket to reduce template tiers.","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/2aabeebb9a3e401faa6e8499b3286c06cd349c2f"},{"sha":"afbf62439dcbfef2670b4767e8ceca5c7bfebe8e","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"1.1.2 release.\nFix bug: ascs::list cannot be moved properly via moving constructor.\nUse ASCS_DELAY_CLOSE instead of ASCS_ENHANCED_STABILITY macro to control delay close duration,\n 0 is an equivalent of defining ASCS_ENHANCED_STABILITY, other values keep the same meanings as before.\nMove ascs::socket::closing related logic to ascs::object.\nMake ascs::socket::id(uint_fast64_t) private to avoid changing IDs by users.\nCall close at the end of shutdown function, just for safety.\nAdd move capture in lambda.\nOptimize lambda expressions.","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/afbf62439dcbfef2670b4767e8ceca5c7bfebe8e"},{"sha":"8356dc4b0a60586a5c4da6515a60758215dd9a56","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"1.1.3 release.\nIntroduce lock-free mechanism for some appropriate logics (many requesters, only one can succeed, others will fail rather than wait).\nRemove all mutex (except mutex in object_pool, service_pump, lock_queue and udp::socket).\nSharply simplified timer class.","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/8356dc4b0a60586a5c4da6515a60758215dd9a56"},{"sha":"e3a9f3f0c4437cbc31b55e96edff4c37b516e0da","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"1.1.4 release.\nDrop unnecessary macro definition (ASIO_HAS_STD_CHRONO).\nSimplify header files' dependence.\nAdd Visual C++ solution and project files (Visuall C++ 14.0).\nMonitor time consumptions for message packing and unpacking.\nFix bug: pop_first_pending_send_msg and pop_first_pending_recv_msg cannot work.","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/e3a9f3f0c4437cbc31b55e96edff4c37b516e0da"},{"sha":"6251fb2dbaddcf5f36ca7db884a99be370927563","author":{"name":"youngowlf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"1.1.5 release.\nSupport heartbeat (via OOB data), see ASCS_HEARTBEAT_INTERVAL macro for more details.\nSupport scatter-gather buffers when receiving messages, this feature needs modification of i_unpacker, you must explicitly define\n ASCS_SCATTERED_RECV_BUFFER macro to open it, this is just for compatibility.\nSimplify lock-free mechanism and use std::atomic_flag instead of std::atomic_size_t.\nOptimize container insertion (use series of emplace functions instead).\nDemo echo_client support alterable number of sending thread (before, it's a hard code 16).\nFix bug: In extreme cases, messages may get starved in receive buffer and will not be dispatched until arrival of next message.\nFix bug: In extreme cases, messages may get starved in send buffer and will not be sent until arrival of next message.\nFix bug: Sometimes, connector_base cannot reconnect to the server after link broken.\n\nknown issues:\n1. heartbeat mechanism cannot work properly between windows (at least win-10) and Ubuntu (at least Ubuntu-16.04).","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/6251fb2dbaddcf5f36ca7db884a99be370927563"},{"sha":"7bf5fe2068966b8a1ca2c0d6c7184014777a887a","author":{"name":"wolf","email":"a3cb738850fa39be667c4d6428d72aee854b2cc7@debian-8.3"},"message":"Disable heartbeat by default.\nSync doc.\nVersion number keeps unchanged.","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/7bf5fe2068966b8a1ca2c0d6c7184014777a887a"},{"sha":"7fbe77a44712bf6b7252a700c6b76a325812c9d7","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"Make the s variable of ascs::list volatile.","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/7fbe77a44712bf6b7252a700c6b76a325812c9d7"},{"sha":"056685a26079cab1e7b11e5a76a6a93fc8e1f0ab","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"Make echo_client easier to use.\nSupport asio 1.11.x","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/056685a26079cab1e7b11e5a76a6a93fc8e1f0ab"},{"sha":"5d2c7d2de3f4ba35f57120a6ffa68124baeeb0dd","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"Continue last commit.","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/5d2c7d2de3f4ba35f57120a6ffa68124baeeb0dd"},{"sha":"a68f14ea5b2178d7aa39042d6941910283fe2bb0","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"Continue last commit.","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/a68f14ea5b2178d7aa39042d6941910283fe2bb0"},{"sha":"e2e5d4b722446b8572a61ba2bf00936898f4a56f","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"prefix_suffix packer and unpacker satisfy asio 1.11","distinct":false,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/e2e5d4b722446b8572a61ba2bf00936898f4a56f"},{"sha":"75fa186fa870a1fd7797699324424a688fe5b44c","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"1.2.0 release.\nSupport object restoration (on server side).\nRe-implement heartbeat function, use user data instead of OOB.\nRefactor and optimize ssl object, now ssl::commector_base and ssl::server_socket_base are reuable.\n\nNot compatible with old versions, please note.\nSee config.h for more details about this release.","distinct":true,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/75fa186fa870a1fd7797699324424a688fe5b44c"},{"sha":"73513d5cbb82ac6adaaed4d44c567a2d3ba56be7","author":{"name":"wolf","email":"a3cb738850fa39be667c4d6428d72aee854b2cc7@debian-wolf"},"message":"Make reconnecting after all async invocations (like object reusing or restoration).\nDrop virtual function socket::is_closable.","distinct":true,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/73513d5cbb82ac6adaaed4d44c567a2d3ba56be7"},{"sha":"e6f90e401040b4d03703194797391c5bd6d5e78c","author":{"name":"youngowlf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"1.2.1 release.\nFix race condition on member variable last_send_msg in tcp::socket_base.\nOptimize reconnecting mechanism.\nEnhance class timer.\nRename connector_base and ssl::connector_base to client_socket_base and ssl::client_socket_base, the former is still available, but is just an alias.","distinct":true,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/e6f90e401040b4d03703194797391c5bd6d5e78c"},{"sha":"42cfca74796cbad0a28abffb478567595befda10","author":{"name":"youngwolf","email":"ea8e0b6a6d94b8f30412ed083c1c6a03f008aa9e@163.com"},"message":"1.2.2 release.\nSupport unstripped message.\nAdd two demos for concurrent test.\ndefine ASIO_NO_DEPRECATED macro by default in VC++ projects.\nTruly support asio 1.11 (don't use deprecated functions and classes any more), and of course, asio 1.10 will be supported too.\nUse mutable_buffer and const_buffer instead of mutable_buffers_1 and const_buffers_1 if possible.","distinct":true,"url":"https://api.github.com/repos/youngwolf-project/ascs/commits/42cfca74796cbad0a28abffb478567595befda10"}]}
{"actor":{"display_login":"youngwolf-project"}}