A mini cross platform posix socket API wrapper(support IPv6-only network, Integrated with Application Layer Binary Protocol Auto Generator)

Yes, you are right, so I update it to v3.9.3:

  1. Make Luabinding C++11 Compatible
  2. Add uint24 type encode/decode support

Update v3.9.6

  1. Remove macro ‘_USING_SHARED_PTR’
  2. Rename io_event::error_code to io::event::status
  3. Change Lua binding io_event::packet to io_event::take_packet
  4. Optimize io binarystream function template specialization
  5. Add x64 prebuilt lyasio.dll for Unity tolua framework
  6. Add Cocos2d-x jsb support
  7. Add CocosCreator jsb2.0 support
  8. Rename libname from mini-asio to yasio

The new repo: https://github.com/halx99/yasio

1 Like

yasio-3.9.7 is published:

  1. Optimize template specialization.
  2. Add some API for io binarysteam.
  3. Merge lua bindings c++17/11 sources to lyasio.cpp.
  4. Add udp support.
  5. Fix crash lyasio at android with clang compiler.
  6. Add bind local port for pconnect, xpconnect of xxsocket.
  7. Add YASIO_OPT_CHANNEL_LOCAL_PORT to support bind local port for client channel.
  8. Fix bind error: Invalid argument at unix like system.
  9. Fix ios & android c++11 compile issue.
  10. Add Android.mk for cocos2d-x lua bindings.
  11. Add Android.mk for cocos2d-x js bindings.
  12. Unify jsb & jsb20 binding API to jsb_register_yasio.
  13. Remove unused sources & files.
  14. Add experimental implementations: epoll, iocp, poll.
  15. Add new integration guide, more easy to integration with cocos2d-x lua.

see: https://github.com/halx99/yasio/releases/tag/3.9.7

yasio-3.9.11 is published.

  1. Avoid luaopen_yasio_cclua affect lua stack.
  2. Add option: YOPT_NO_NEW_THREAD.
  3. Add option: YOPT_CHANNEL_REMOTE_ENDPOINT.
  4. Fix can’t close exist transport at open channel.
  5. Fix the options can’t be initialized at vs2013.
  6. Tidy and rename macros.
  7. Optimize API open,reopen.
  8. Optimize timer API.
  9. Optimize file log, use posix non-buffer API.

see: https://github.com/halx99/yasio/releases/tag/v3.9.11f2

yasio-3.9.13 is pubilshed

  1. Fix connection lost error report when decode frame length failed.
  2. Add ArrayBuffer support for jsb & jsb20.

see: https://github.com/halx99/yasio/releases/tag/v3.9.13

yasio-3.20.0 is published

  1. Add write_v/read_v for jsb & luabindings.
  2. Add write_bytes/read_bytes for jsb & luabindings.
  3. Unify vs project files.
  4. Use pure lua table instead userdata io_hostent.
  5. Rename io_event.channel_index to cindex.
  6. Add io_service.close for script bindings.
  7. Rename io_event.take_packet to packet for script bindings.
  8. Improve script binary encode/decode capability.
  9. Remove io_hostent userdata for luabindings, use simple lua table instead.

see: https://github.com/halx99/yasio/releases/tag/v3.20.0

yasio-3.20.1 is published

  1. Add script API: yasio.highp_clock
  2. Add script API: yasio.ibstream.length
  3. Add script API: yasio.ibstream.seek
  4. Add script API: yasio.io_event.timestamp

see: https://github.com/halx99/yasio/releases/tag/v3.20.1

yasio updates since v3.23.1 to v3.23.6:

  1. Fix jsb & jsb20 compile issue.
  2. Rename native interface yasio_close2 to yasio_close_handle
  3. Support detect whether ipv6 supported at android platform.
  4. Use dual event queue to avoid block recv operation when consumer thread do Long-Running Operations at event callback.
  5. Remove specific vs project files, use cmake instead.
  6. Use std::make_shared instead directly new.
  7. Unify optional macro YASIO_VERBOS_LOG.
  8. Rename stimer::killAll to stimer::clear.

yasio-3.30-rc2

  1. Tidy option macros.
  2. Add YCF_ enums to control channel to support more features.
  3. Add multicast support.
  4. Add a workaround implementation to support win32 udp-server.
  5. Add io_service::cindex_to_handle.
  6. Add ftp sever example.
  7. Optimize deadline timer, provide set_repeated to control timer looply.
  8. Add defer invoke timer callback support.
  9. Add obstream::write_byte.
  10. Add to_strf_v4 for ip::endpoint.
  11. Optimizing for file transfer, avoid high cpu occupation when system kernel send buffer is full.
  12. More safe to check object valid which allocated from pool.
  13. Add send complete callback.
  14. Mark io_service::dispatch_events deprecated, use dispatch to instead.
  15. Add YCF_REUSEPORT to control whether to enable socket can bind same port, default and previous vesion is enabled.