Documentation ¶
Index ¶
- func CreateProcessorOneshot() (Mono, Sink)
- func IsSubscribeAsync(m Mono) bool
- type DelayBuilder
- type Mono
- func Create(gen func(context.Context, Sink)) Mono
- func CreateFromChannel(payloads <-chan payload.Payload, err <-chan error) Mono
- func CreateOneshot(gen func(context.Context, Sink)) Mono
- func Empty() Mono
- func Error(err error) Mono
- func ErrorOneshot(err error) Mono
- func FromFunc(gen func(context.Context) (payload.Payload, error)) Mono
- func Just(input payload.Payload) Mono
- func JustOneshot(input payload.Payload) Mono
- func JustOrEmpty(input payload.Payload) Mono
- func Raw(input mono.Mono) Mono
- type Processor
- type ReleaseFunc
- type Sink
- type ZipBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateProcessorOneshot ¶ added in v0.7.0
func IsSubscribeAsync ¶ added in v0.7.0
IsSubscribeAsync returns true if target Mono will be subscribed async.
Types ¶
type DelayBuilder ¶ added in v0.7.1
func Delay ¶ added in v0.7.1
func Delay(delay time.Duration) DelayBuilder
type Mono ¶
type Mono interface { rx.Publisher // Filter evaluate each source value against the given Predicate. // If the predicate test succeeds, the value is emitted. Filter(rx.FnPredicate) Mono // Map transform the item emitted by this Mono by applying a synchronous function to another. Map(rx.FnTransform) Mono // FlatMap Transform the item emitted by this Mono asynchronously, returning the value emitted by another Mono. FlatMap(func(payload.Payload) Mono) Mono // DoFinally adds behavior (side-effect) triggered after the Mono terminates for any reason, including cancellation. DoFinally(rx.FnFinally) Mono // DoOnError adds behavior (side-effect) triggered when the Mono completes with an error. DoOnError(rx.FnOnError) Mono // DoOnSuccess adds behavior (side-effect) triggered when the Mono completes with an success. DoOnSuccess(rx.FnOnNext) Mono // DoOnCancel add behavior (side-effect) triggered when the Mono is cancelled. DoOnCancel(rx.FnOnCancel) Mono // DoOnSubscribe add behavior (side-effect) triggered when the Mono is done being subscribed. DoOnSubscribe(rx.FnOnSubscribe) Mono // SubscribeOn customize a Scheduler running Subscribe, OnSubscribe and Request. SubscribeOn(scheduler.Scheduler) Mono // SubscribeWithChan subscribe to this Mono and puts item/error into channels. SubscribeWithChan(ctx context.Context, valueChan chan<- payload.Payload, errChan chan<- error) // BlockUnsafe blocks Mono and returns data and error. // Payload could be pooled sometimes, so make sure calling ReleaseFunc when you no longer need Payload, or it will cause leak problem. BlockUnsafe(context.Context) (payload.Payload, ReleaseFunc, error) // Block blocks Mono and returns a cloned payload. // It's different from BlockUnsafe, you don't need release it manually. Block(context.Context) (payload.Payload, error) // SwitchIfEmpty switch to an alternative Publisher if this Mono is completed without any data. SwitchIfEmpty(alternative Mono) Mono // SwitchIfError switch to an alternative Publisher if this Mono is end with an error. SwitchIfError(alternative func(error) Mono) Mono // SwitchValueIfError switch to an alternative Payload if this Mono is end with an error. SwitchValueIfError(alternative payload.Payload) Mono // Raw returns low-level reactor.Mono which defined in reactor-go library. Raw() mono.Mono // ToChan subscribe Mono and puts items into a chan. // It also puts errors into another chan. ToChan(ctx context.Context) (c <-chan payload.Payload, e <-chan error) // Timeout sets the timeout value. Timeout(timeout time.Duration) Mono }
Mono is a Reactive Streams Publisher with basic rx operators that completes successfully by emitting an element, or with an error.
func CreateFromChannel ¶ added in v0.3.1
CreateFromChannel creates a Mono from channels.
func CreateOneshot ¶ added in v0.7.0
CreateOneshot wraps a generator function to an oneshot Mono.
func ErrorOneshot ¶ added in v0.7.0
ErrorOneshot wraps an error to an oneshot Mono.
func JustOneshot ¶ added in v0.7.0
JustOneshot wraps an existing Payload to an oneshot Mono.
func JustOrEmpty ¶
JustOrEmpty wraps an existing Payload to a Mono. Payload could be nil here.
type ReleaseFunc ¶ added in v0.7.0
type ReleaseFunc func()
ReleaseFunc can be used to release resources.
type Sink ¶
type Sink interface { // Success emits a single value then complete current Sink. Success(payload.Payload) // Error emits an error then complete current Sink. Error(error) }
Sink is a wrapper API around an actual downstream Subscriber for emitting nothing, a single value or an error (mutually exclusive).
type ZipBuilder ¶ added in v0.7.1
func ZipAll ¶ added in v0.7.1
func ZipAll(sources ...Mono) ZipBuilder