final class SingleAssignSubscription extends Subscription
Represents a org.reactivestreams.Subscription that can be assigned
only once to another subscription reference.
If the assignment happens after this subscription has been canceled, then on
assignment the reference will get canceled too. If the assignment
after request(n) has been called on this subscription, then
request(n) will get called immediately on the assigned reference as well.
Useful in case you need a thread-safe forward reference.
- Alphabetic
- By Inheritance
- SingleAssignSubscription
- Subscription
- Cancelable
- Serializable
- Subscription
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- def :=(s: org.reactivestreams.Subscription): Unit
- def cancel(): Unit
Cancels the unit of work represented by this reference.
Cancels the unit of work represented by this reference.
Guaranteed idempotency - calling it multiple times should have the same side-effect as calling it only once. Implementations of this method should also be thread-safe.
- Definition Classes
- SingleAssignSubscription → Cancelable → Subscription
- def request(n: Long): Unit
No events will be sent by a
Publisheruntil demand is signaled via this method.No events will be sent by a
Publisheruntil demand is signaled via this method.It can be called however often and whenever needed. Whatever has been requested can be sent by the
Publisherso only signal demand for what can be safely handled.A
Publishercan send less than is requested if the stream ends but then must emit eitheronErrororonComplete.The
SubscriberMAY call this method synchronously in the implementation of itsonSubscribe/onNextmethods, therefore the effects of this function must be asynchronous, otherwise it could lead to a stack overflow.- n
signals demand for the number of
onNextevents that theSubscriberwants, if positive, then thePublisheris bound by contract to not send more than this number ofonNextevents and if negative, then this signals to thePublisherthat it may send an infinite number of events, until the subscription gets cancelled or the stream is complete.
- Definition Classes
- SingleAssignSubscription → Subscription → Subscription
- def set(s: org.reactivestreams.Subscription): Unit

This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomictypes, as alternative tojava.util.concurrent.atomicmonix.catnap exposes pure abstractions built on top of the Cats-Effect type classes:
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observablepattern:Observableimplementationsmonix.tail exposes Iterant for purely functional pull based streaming:
BatchandBatchCursor, the alternatives to Scala'sIterableandIteratorrespectively that we are using within Iterant's encodingYou can control evaluation with type you choose - be it Task, Coeval, cats.effect.IO or your own as long as you provide correct cats-effect or cats typeclass instance.