Reactive Distributed communication framework for .NET, Kotlin, C++. Inspired by Rider IDE.
APACHE-2.0 License
Bot releases are hidden (Show)
Published by ForNeVeR over 2 years ago
adviseSuspended
doesn't check lifetime termination before executing a handler (CWM-6511)Published by ForNeVeR over 2 years ago
RdContext::updateValue
method with disposable cookies instead of try
/finally
set and restore (or PushContext
/ PopContext
) approachExtension
mechanism to support both protocol types and custom types as extensions (the main use case being able to use LocalizableString
on .NET side together with @Nls
String in Kotlin)Published by ForNeVeR over 2 years ago
RdFault
is now serializablePublished by ForNeVeR over 2 years ago
Assert.FailWithResult
that allow throw an assertion exception and return a value where it's expected e.g. default cases of switch expressions over enumsthreadLocalContext
Published by ForNeVeR over 2 years ago
rd-kt: startSuspending
on async
Rd calls will now use the current coroutine context for response scheduler
This means that calls will now return to the current context instead of the default one. For example, if an RdCall
was called from a background scheduler, then the background scheduler will be used to handle the response. Previously, the main scheduler (usually, an UI/EDT one) was used by default in such cases.
Note this only affects the calls marked as .async
in the model.
rd-kt: sync Lifetime
implementation with rd-net
LifetimeStatus
: Canceled
renamed to Canceling
(Canceled
is still there for most use cases, but marked as deprecated)Lifetime::setTerminationTimeoutMs
and Lifetime::terminationTimeoutKind
rd-net: LifetimeTerminationKind
is now taken into account when performing Lifetime::Intersect
rd-cpp, rd-kt, rd-net: exceptions during ping are now only logged in debug/verbose mde
rd-net: small performance improvements (use EqualityComparer<T>.Default
instead of just Equals
)
rd-cpp: fixes ported from UnrealLink
rd-cpp: update gtest and spdlog dependencies
rd-cpp: fix deprecations and compiler warnings
Lifetime.createTerminatedAfter(Duration, CoroutineContext)
bracketIfAlive2
and bracketOrThrow2
to avoid closures in cases when the value returned by opening
should be reusedLifetimeDefinition::ExecutionWasNotCancelledByTimeout
signal (may be used for diagnostics, i.e. to collect a thread dump)Published by ForNeVeR over 2 years ago
Published by ForNeVeR over 2 years ago
Published by ForNeVeR over 2 years ago
Removed
WebSocketSharp
Added
CallerArgumentExpression
in NotNull
extension methodsChanged
Trace()
(without parameters) renamed to WhenTrace()
, old name obsoleteRd.Reflection
Fixed
DictionaryEx.BlockingAddUnique
(support termination while waiting to take a lock)Published by ForNeVeR almost 3 years ago
Changed
Lifetime
Published by ForNeVeR almost 3 years ago
Fixes
create
generated methodPublished by ForNeVeR almost 3 years ago
Changed
Lifetime
Added
CalledArgumentExpression
support in Assertion
and Logger
APIsPublished by ForNeVeR almost 3 years ago
Changed
nextNotNullValue
now returns a non-nullable typeBitSlice
Fixed
Added
Published by ForNeVeR about 3 years ago
Published by mfilippov over 4 years ago
Fix memory leaks.