Whether the stream has been cancelled by the Subscriber
Indicate that the specified number of elements has been delivered.
Indicate that the specified number of elements has been delivered. Returns the remaining demand. This is an atomic operation. It must only be called from the synchronous action context which performs the streaming.
Get the current demand that has not yet been marked as delivered and mark it as being in the current batch.
Get the current demand that has not yet been marked as delivered and mark it as being in
the current batch. When this value is negative, the initial streaming action is still
running and the real demand can be computed by subtracting Long.MinValue
from the
returned value.
Emit a single result of the stream.
Emit a single result of the stream. Any Exception thrown by this method should be passed on to the caller.
Check if the session is pinned.
Check if the session is pinned. May only be called from a synchronous action context.
Pin the current session.
Pin the current session. Multiple calls to pin
may be nested. The same number of calls
to unpin
is required in order to mark the session as not pinned anymore. A pinned
session will not be released at the end of a primitive database action. Instead, the same
pinned session is passed to all subsequent actions until it is unpinned. Note that pinning
does not force an actual database connection to be opened. This still happens on demand.
May only be called from a synchronous action context.
Restart a suspended streaming action.
Restart a suspended streaming action. Must only be called from the Subscriber context.
The Promise to complete when streaming has finished.
Get the Subscription for this stream.
Get the Subscription for this stream.
Finish the stream with onComplete
if it is not finished yet.
Finish the stream with onComplete
if it is not finished yet. May only be called from a
synchronous action context.
Finish the stream with onError
if it is not finished yet.
Finish the stream with onError
if it is not finished yet. May only be called from a
synchronous action context.
Unpin this session once.
Unpin this session once. May only be called from a synchronous action context.
Whether to run all operations on the current thread or schedule them normally on the appropriate ExecutionContext.
Whether to run all operations on the current thread or schedule them normally on the appropriate ExecutionContext. This is used by the blocking API.
A special DatabaseActionContext for streaming execution.