Package io.deephaven.client.impl
Class BarrageSnapshotImpl
java.lang.Object
io.deephaven.util.referencecounting.ReferenceCounted
io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
io.deephaven.engine.liveness.ReferenceCountedLivenessNode
io.deephaven.client.impl.BarrageSnapshotImpl
- All Implemented Interfaces:
LogOutputAppendable
,BarrageSnapshot
,LivenessManager
,LivenessNode
,LivenessReferent
This class is an intermediary helper class that uses a
DoExchange
to populate a BarrageTable
using
snapshot data from a remote server.
Users may call entireTable()
or partialTable(io.deephaven.engine.rowset.RowSet, java.util.BitSet)
to initiate the gRPC call to the server. These methods
return a
to the user.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.client.impl.BarrageSnapshot
BarrageSnapshot.Factory
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
destroy()
Attempt to release (destructively when necessary) resources held by this object.Request a full snapshot of the data and populate aTable
with the data that is received.io.grpc.MethodDescriptor<org.apache.arrow.flight.impl.Flight.FlightData,
BarrageMessage> getClientDoExchangeDescriptor
(BarrageSnapshotOptions options, ChunkType[] columnChunkTypes, Class<?>[] columnTypes, Class<?>[] componentTypes, StreamReader streamReader) Fetch the client side descriptor for a specific table schema.partialTable
(RowSet viewport, BitSet columns) Request a partial snapshot of the data limited by viewport or column set and populate aTable
with the data that is received.partialTable
(RowSet viewport, BitSet columns, boolean reverseViewport) Request a partial snapshot of the data limited by viewport or column set and populate aTable
with the data that is received.Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode
getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanage
Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
dropReference, tryRetainReference
Methods inherited from class io.deephaven.util.referencecounting.ReferenceCounted
decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, toString, tryDecrementReferenceCount, tryIncrementReferenceCount
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.engine.liveness.LivenessManager
manage, unmanage, unmanage
Methods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, retainReference, tryRetainReference
-
Method Details
-
entireTable
Description copied from interface:BarrageSnapshot
Request a full snapshot of the data and populate aTable
with the data that is received. The returned future will block until all rows for the snapshot table are available.- Specified by:
entireTable
in interfaceBarrageSnapshot
- Returns:
- a
Future
that will be populated with the resultTable
-
partialTable
Description copied from interface:BarrageSnapshot
Request a partial snapshot of the data limited by viewport or column set and populate aTable
with the data that is received. The returned future will block until the snapshot table viewport is satisfied.- Specified by:
partialTable
in interfaceBarrageSnapshot
- Parameters:
viewport
- the position-space viewport to use for the snapshotcolumns
- the columns to include in the snapshot- Returns:
- a
Future
that will be populated with the resultTable
-
partialTable
Description copied from interface:BarrageSnapshot
Request a partial snapshot of the data limited by viewport or column set and populate aTable
with the data that is received. Allows the viewport to be reversed. The returned future will block until the snapshot table viewport is satisfied.- Specified by:
partialTable
in interfaceBarrageSnapshot
- Parameters:
viewport
- the position-space viewport to use for the snapshotcolumns
- the columns to include in the snapshotreverseViewport
- Whether to treatposRowSet
as offsets fromLongSizedDataStructure.size()
rather than0
- Returns:
- a
Future
that will be populated with the resultTable
-
destroy
@OverridingMethodsMustInvokeSuper protected void destroy()Description copied from class:ReferenceCountedLivenessReferent
Attempt to release (destructively when necessary) resources held by this object. This may render the object unusable for subsequent operations. Implementations should be sure to call super.destroy().This is intended to only ever be used as a side effect of decreasing the reference count to 0.
- Overrides:
destroy
in classReferenceCountedLivenessReferent
-
append
- Specified by:
append
in interfaceLogOutputAppendable
- Overrides:
append
in classReferenceCounted
-
getClientDoExchangeDescriptor
public io.grpc.MethodDescriptor<org.apache.arrow.flight.impl.Flight.FlightData,BarrageMessage> getClientDoExchangeDescriptor(BarrageSnapshotOptions options, ChunkType[] columnChunkTypes, Class<?>[] columnTypes, Class<?>[] componentTypes, StreamReader streamReader) Fetch the client side descriptor for a specific table schema.- Parameters:
options
- the set of options that last across the entire life of the subscriptioncolumnChunkTypes
- the chunk types per columncolumnTypes
- the class type per columncomponentTypes
- the component class type per columnstreamReader
- the stream reader - intended to be thread safe and re-usable- Returns:
- the client side method descriptor
-