[][src]Crate rxrust

Reactive extensions library for Rust: a library for Reactive Programming using LocalObservables, to make it easier to compose asynchronous or callback-based code.

There are two core abstractions that are unique to RxRust:

  • IntoShared: By default, RxRust always provides a single thread version to get the best performance, but a thread-safe implementation also exists. The trait IntoShared will convert a local-thread struct to thread-safe version. So we can call to_shared method to ensure operators or subscription can shared between threads.
  • Fork: In RxRust all operators consume the upstream except Fork, so operators always combine a single-chain and can only subscribe once. We use Fork to fork the stream.

Modules

observable
observer
ops
prelude
scheduler
shared
subject
subscriber
subscription

Macros

box_observable_impl
complete_proxy_impl
empty_emitter
error_proxy_impl
impl_observer
iter_emitter
never_emitter
next_proxy_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_impl
observable_proxy_impl
observer_pointer_proxy_impl
observer_proxy_impl

auto impl a proxy observer observer_proxy_impl!( type // give the type you want to implement for , {path} // the path to access to the actual observer, , item // the generic Item name , err // the generic Err name , host_type? // options, give the host type of the actual observer, if // it's a generic type , ? // options, give the generics type must use in the // implement, except Item and Err and host type. , {where}? // options, where bounds for the generics )

of_emitter
of_fn_emitter
of_option_emitter
of_result_emitter
subscription_direct_impl_proxy
subscription_proxy_impl

subscription_proxy_impl!( type // give the type you want to implement for , {path} // the path to access to the actual observer , host_type? // options, give the host type of the actual observer, if // it's a generic type , ? // options, give the generics type must use in the // implement, except Item and Err and host type. , {where}? // options, where bounds for the generics )

throw_emitter