trait Subscription extends AnyRef
Represents a one-to-one lifecycle of a Subscriber subscribing to a Publisher
and mirrors the Subscription interface from the
Reactive Streams specification.
It can be used only once by a single Subscriber. It is used for both signaling demand for data and for canceling demand (and allow resource cleanup).
- Alphabetic
- By Inheritance
- Subscription
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
cancel(): Unit
Request the Publisher to stop sending data and clean up resources.
Request the Publisher to stop sending data and clean up resources.
Data may still be sent to meet previously signalled demand after calling cancel as this request is asynchronous.
-
abstract
def
request(n: Long): Unit
No events will be sent by a Publisher until demand is signaled via this method.
No events will be sent by a Publisher until demand is signaled via this method.
It can be called however often and whenever needed. Whatever has been requested can be sent by the Publisher so only signal demand for what can be safely handled.
A Publisher can send less than is requested if the stream ends but then must emit either
onErrororonComplete.The Subscriber MAY call this method synchronously in the implementation of its
onSubscribe/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 the Subscriber wants, if positive, then the Publisher is bound by contract to not send more than this number ofonNextevents and if negative, then this signals to the Publisher that it may send an infinite number of events, until the subscription gets cancelled or the stream is complete.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()