Package io.deephaven.extensions.barrage
Class BarrageSubscriptionOptions
java.lang.Object
io.deephaven.extensions.barrage.BarrageSubscriptionOptions
- All Implemented Interfaces:
BarrageOptions
@Immutable
public abstract class BarrageSubscriptionOptions
extends Object
implements BarrageOptions
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintappendTo(com.google.flatbuffers.FlatBufferBuilder builder) intbuilder()booleanSome Flight clients cannot handle modifications that have irregular column counts.intintBy default, we should not specify anything; the server will use whatever it is configured with.static BarrageSubscriptionOptionsof(io.deephaven.barrage.flatbuf.BarrageSubscriptionOptions options) static BarrageSubscriptionOptionsof(io.deephaven.barrage.flatbuf.BarrageSubscriptionRequest subscriptionRequest) longThe maximum length of any list / array to encode.booleanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.deephaven.extensions.barrage.BarrageOptions
columnConversionMode
-
Constructor Details
-
BarrageSubscriptionOptions
public BarrageSubscriptionOptions()
-
-
Method Details
-
builder
-
of
public static BarrageSubscriptionOptions of(io.deephaven.barrage.flatbuf.BarrageSubscriptionOptions options) -
of
public static BarrageSubscriptionOptions of(io.deephaven.barrage.flatbuf.BarrageSubscriptionRequest subscriptionRequest) -
useDeephavenNulls
@Default public boolean useDeephavenNulls()- Specified by:
useDeephavenNullsin interfaceBarrageOptions- Returns:
- whether we encode the validity buffer to express null values or
QueryConstants'NULL values.
-
columnsAsList
@Default public boolean columnsAsList()Description copied from interface:BarrageOptionsSome Flight clients cannot handle modifications that have irregular column counts. These clients request that the server wrap all columns in a list to enable each column having a variable length.- Specified by:
columnsAsListin interfaceBarrageOptions- Returns:
- true if the columns should be wrapped in a list
-
minUpdateIntervalMs
@Default public int minUpdateIntervalMs()By default, we should not specify anything; the server will use whatever it is configured with. If multiple subscriptions exist on a table (via the same client or via multiple clients) then the server will re-use state needed to perform barrage-acrobatics for both of them. This greatly reduces the burden each client adds to the server's workload. If a given table does want a shorter interval, consider using that shorter interval for all subscriptions to that table.The default interval can be set on the server with the flag
io.deephaven.server.arrow.ArrowFlightUtil#DEFAULT_UPDATE_INTERVAL_MS, or-Dbarrage.minUpdateInterval=1000.Related, when shortening the minUpdateInterval, you typically want to shorten the server's UGP cycle enough to update at least as quickly. This can be done on the server with the flag
io.deephaven.engine.updategraph.impl.PeriodicUpdateGraph#defaultTargetCycleTime, or-DPeriodicUpdateGraph.targetcycletime=1000.- Returns:
- the update interval to subscribe for
-
batchSize
@Default public int batchSize()- Specified by:
batchSizein interfaceBarrageOptions- Returns:
- the ideal number of records to send per record batch
-
maxMessageSize
@Default public int maxMessageSize()- Specified by:
maxMessageSizein interfaceBarrageOptions- Returns:
- the maximum number of bytes that should be sent in a single message.
-
previewListLengthLimit
@Default public long previewListLengthLimit()Description copied from interface:BarrageOptionsThe maximum length of any list / array to encode.- If zero, list lengths will not be limited.
- If non-zero, the server will limit the length of any encoded list / array to the absolute value of the returned length.
- If less than zero, the server will encode elements from the end of the list / array, rather than rom the beginning.
Note: The server is unable to indicate when truncation occurs. To detect truncation request one more element than the maximum number you wish to display.
- Specified by:
previewListLengthLimitin interfaceBarrageOptions- Returns:
- the maximum length of any list / array to encode; zero means no limit; negative values indicate to treat the limit as a tail instead of a head
-
appendTo
public int appendTo(com.google.flatbuffers.FlatBufferBuilder builder)
-