rsocket-cpp
rsocket-cpp copied to clipboard
C++ implementation of RSocket
It is usually updated by the thread spawned inside RSocket. And the testing thread reads from it.
Current approach is awkward to cancel, would be cleaner to use AsyncTimeout. ``` timeout_ = folly::AsyncTimeout::schedule( std::chrono::milliseconds(heartbeatIntervalMs_), eventBase_, [this]() noexcept { heartbeat(); }); ... timeout_->scheduleTimeout(heartbeatIntervalMs_); ```
Currently defaulting to latest (1.0), which should work with java. But the C++ tests should be run for all supported versions. https://github.com/rsocket/rsocket-cpp/blob/master/tck-test/client.cpp#L103
Filing so I don't forget. We never use other values than `GRACEFUL` and `ERROR` from `StreamCompletionSignal`. There is an assert here that can never trigger because of this: https://github.com/ReactiveSocket/reactivesocket-cpp/blob/master/src/ConnectionAutomaton.cpp#L105 For...
https://github.com/ReactiveSocket/reactivesocket-cpp/blob/f1b862a23bc951bbe5869d03321eafa4f583a2a1/src/FrameSerializer.cpp - avoid flags in library code - handle versions greater than 9 - don't accept versions like ':.:' -> 10.10
External components that want to use RSocketRequester and be unit tested need a way to mock this class. Gmock requires mocked classes to be virtual. Can we please split RSocketRequester...
This isn't part of the spec anymore ``` bool isInfinite() const { return value_ == max(); } ```
1. today the server doesn't communicate whether it will honor the resumability 2. on refused resume, the connection should be used to establish a new socket instance. We don't do...
Ondrej and I capturing things we're finding to do - [x] requestResponse with Single type - [x] fireAndForget with Single type - [x] adopt yarpl::flowable::Subscriber/Subscription types in core code -...
currently not supported and not exposed in ConnectionSetupPayload