The yasio-3.22.0 is released!

The yasio-3.22.0 is released!
0

This is a lightweight & stable cross-platform support library with a focus on asynchronous socket I/O, support win32 & linux & apple & android & wp8 & wp8.1-universal & win10-universal
The core design is reference from https://github.com/chriskohlhoff/asio but very small.
This lib has been used by project http://hongjing.qq.com/ and run at millions of devices.

Features:

  • support IPv6-only network.
  • support multi-connections at one thread.
  • support deadline timer.
  • processing tcp sticky internal, user do not need to care it.
  • support lua bindings
  • support cocos2d-x jsb
  • support CocosCreator jsb2.0
  • support Unity3D
  • per io_service, per thread to process socket read,write,connect operations.

There is a simple http client GET implementation with yasio: http-client

For more detail and usage, see the repo

Latest stable release: https://github.com/halx99/yasio/releases

2 Likes

yasio-3.21.0

  1. Fix start_service/stop_service can’t work properly at twice.
  2. Add native interface for interop with other languages, such as C#
  3. Fix lua5.2 or lua5.3 for c++11 compile error.
  4. Make transport pointer more safe for Native Interface.
  5. Change script API: ibstream.read_v, obstream.write_v default behavior to use 7bit encoded int as length field.
  6. Remove script API: ibstream.read_string, obstream.write_string
  7. Add YASIO_NI API: yasio_set_resolv_fn to set custom dns resolver, such as httpdns

yasio-3.21.1

  1. Fix connection handle_close detect problem.
  2. Add YASIO_NI API: yasio_set_console_print_fn.

yasio-3.21.2

  1. Fix tcp keepalive option behavior is incorrect.

yasio-3.21.3

  1. Add yasio_memcpy for YASIO_NI, because C# no such function yet.

yasio-3.21.3f1

  1. Optimize script binding timer implementation, add API: stimer.killAll.

yasio-3.22.0

  1. Add kcp support.
  2. Change obstream.pop behavoir, see: https://github.com/halx99/yasio/wiki/obstream#Encapsulate-Packet
  3. Remove unused send timeout.
  4. Remove duplicated macro YOPT_CONNECT_TIMEOUT for script bindings.

yasio-3.22.1

  1. Add HEADER ONLY support.

yasio-3.23.0 is released!

  1. Make length field based frame decode associate with channel.
  2. Make decode length function associate with channel.
  3. Make transport send,flush as private for internal use.
  4. Change channel default length decode behavior to directly .
  5. Rename YOPT_RESOLV_FUNCTION to YOPT_RESOLV_FN .
  6. Rename YOPT_CONSOLE_PRINT_FUNCTION to YOPT_CONSOLE_PRINT_FN .
  7. Rename YOPT_DECODE_FRAME_LENGTH_FUNCTION to YOPT_CHANNEL_LFBFD_FN .
  8. Rename YOPT_LFBFD_PARAMS to YOPT_CHANNEL_LFBFD_PARAMS .
  9. Rename YOPT_IO_EVENT_CALLBACK to YOPT_IO_EVENT_CB .

yasio-3.23.1

  1. Fix UDP EPERM issue.
  2. Add option: YOPT_PRINT_FN.
  3. Remove option: YOPT_LOG_FILE and YOPT_CONSOLE_PRINT_FN.