-
Notifications
You must be signed in to change notification settings - Fork 19
Features
Dave Sexton edited this page Jul 9, 2016
·
9 revisions
- Works immediately with pre-built transport providers.
- TCP with binary serialization is provided by the optional Qactive.Providers.Tcp package on NuGet.
- Extensible so that any kind of custom transport and/or serialization mechanism can be used.
- Simple server factory methods for hosting a Qbservable service.
- Supports hosting any
IObservable<T>
query as a service (hot or cold). - Supports hosting any
IQbservable<T>
query as a service.
- Supports hosting any
- Simple client factory methods for acquiring a Qbservable service.
- You must only specify the end point address and the expected return type. The result is an
IQbservable<T>
that you can query andSubscribe
. - All Qbservable Rx operators are supported.
- You must only specify the end point address and the expected return type. The result is an
- Automatically serialized Expression trees.
- Dynamic expressions and debug info expressions are not supported. All other types of expressions are supported.
- Automatically serialized anonymous types.
- Immediate evaluation of local members and closures (optional; default behavior)
- Compiler-generated methods are executed locally and replaced with their return values before the expression is transmitted to the server. This includes iterator blocks, which are serialized as
List<T>
. - Evaluation assumes that local methods are never executed for their side-effects. Actions (void-returning methods) cause an exception. Do not depend upon the order in which members are invoked.
- Compiler-generated methods are executed locally and replaced with their return values before the expression is transmitted to the server. This includes iterator blocks, which are serialized as
- Full duplex communication (optional; default behavior for
IObservable<T>
closures)- Must opt-in on server.
- May opt-in on client for full duplex communication of all local members; automatic for
IObservable<T>
closures. - Duplex communication automatically supports iterator blocks.
- Designed with extensibility in mind; e.g., supports custom Qbservable service providers, protocols and sinks.