Skip to content

Release 0.11.0

Compare
Choose a tag to compare
@ecorm ecorm released this 01 Sep 01:41
· 3 commits to master since this release

Polymorphic codecs and transports

New features:

  • Adding more codecs or transports in the future will no longer result in a combinatorial explosion of explicit template instantions due to the number of transport/codec combinations.
  • Session is now a move-only type that can be instantiated on the stack.
  • Added ConnectionWish and ConnectionWishList to replace the old Connection and ConnectionList classes.
  • TcpHost and UdsPath now have withFormat methods which generate a ConnectionWish that can be passed to Session::connect.
  • The authenticate, publish, 'yield', and cancel methods of Session not taking a completion handler now return an ErrorOrDone. The thread-safe overloads for those now return a std::future<ErrorOrDone>.
  • AnyCompletionExecutor is now used by session to contain the user executor.
  • Added Session::ongoingCall for progressive call results, which automatically applies rpc.withProgessiveResults(true).
  • Session::fallbackExecutor type relaxed to AnyCompletionExecutor.
  • Added wamp::spawn and wamp::YieldContext in <cppwamp/spawn.hpp>, which are aliases to their Boost.Asio counterparts.
  • Added wamp::spawnCompletionHandler and wamp::CompletionYieldContext to support spawning coroutines via Event::executor and
    Invocation::executor.
  • Challenge::authenticate, Invocation::yield and Interruption::yield now have thread-safe and non-thread-safe overloads.
  • Added SessionErrc error codes corresponding to new predefined error URIs that have appeared in the WAMP spec.
  • Added Session::setLogHandler which takes a handler of type void (LogEntry) and unifies all log event handling.
  • Added Session::setLogLevel for use with Session::setLogHandler.