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