public interface ReactiveGraphResultSet extends org.reactivestreams.Publisher<ReactiveGraphNode>
Publisher
of ReactiveGraphNode
s returned by a ReactiveGraphSession
.
By default, all implementations returned by the driver are cold, unicast, single-subscriber only publishers. In other words, they do not support multiple subscriptions; consider caching the results produced by such publishers if you need to consume them by more than one downstream subscriber.
Also, note that reactive graph result sets may emit items to their subscribers on an internal
driver IO thread. Subscriber implementors are encouraged to abide by Reactive Streams
Specification rule 2.2 and avoid performing heavy computations or blocking calls inside
onNext
calls, as doing so could slow down
the driver and impact performance. Instead, they should asynchronously dispatch received signals
to their processing logic.
This interface exists mainly to expose useful information about request execution. This is particularly convenient for queries that do not return rows; for queries that do return rows, it is also possible, and oftentimes easier, to access that same information at node level.
Modifier and Type | Method and Description |
---|---|
org.reactivestreams.Publisher<? extends ExecutionInfo> |
getExecutionInfos()
Returns information about the execution of all requests that have
been performed so far to assemble this result set.
|
@NonNull org.reactivestreams.Publisher<? extends ExecutionInfo> getExecutionInfos()
If the query is not paged, this publisher will emit exactly one item as soon as the response arrives, then complete. If the query is paged, it will emit multiple items, one per page; then it will complete when the last page arrives. If the query execution fails, then this publisher will fail with the same error.
By default, publishers returned by this method do not support multiple subscriptions.
ReactiveGraphNode.getExecutionInfo()
Copyright © 2017–2020. All rights reserved.