Interface BarrageStreamGenerator

All Superinterfaces:
AutoCloseable, SafeCloseable
All Known Implementing Classes:
BarrageStreamGeneratorImpl

public interface BarrageStreamGenerator extends SafeCloseable
A StreamGenerator takes a BarrageMessage and re-uses portions of the serialized payload across different subscribers that may subscribe to different viewports and columns.
  • Method Details

    • getMessage

      BarrageMessage getMessage()
      Returns:
      the BarrageMessage that this generator is operating on
    • getSubView

      BarrageStreamGenerator.MessageView getSubView(BarrageSubscriptionOptions options, boolean isInitialSnapshot)
      Obtain a Full-Subscription View of this StreamGenerator that can be sent to a single subscriber.
      Parameters:
      options - serialization options for this specific view
      isInitialSnapshot - indicates whether this is the first snapshot for the listener
      Returns:
      a MessageView filtered by the subscription properties that can be sent to that subscriber
    • getSubView

      BarrageStreamGenerator.MessageView getSubView(BarrageSubscriptionOptions options, boolean isInitialSnapshot, boolean isFullSubscription, @Nullable @Nullable RowSet viewport, boolean reverseViewport, @Nullable @Nullable RowSet keyspaceViewportPrev, @Nullable @Nullable RowSet keyspaceViewport, BitSet subscribedColumns)
      Obtain a View of this StreamGenerator that can be sent to a single subscriber.

      Note that all passed in arguments are owned by the caller and may be modified external to this method.

      Parameters:
      options - serialization options for this specific view
      isInitialSnapshot - indicates whether this is the first snapshot for the listener
      isFullSubscription - whether this is a full subscription (possibly a growing viewport)
      viewport - is the position-space viewport
      reverseViewport - is the viewport reversed (relative to end of table instead of beginning)
      keyspaceViewportPrev - is the key-space viewport prior to applying the update
      keyspaceViewport - is the key-space viewport
      subscribedColumns - are the columns subscribed for this view
      Returns:
      a MessageView filtered by the subscription properties that can be sent to that subscriber
    • getSnapshotView

      Obtain a Full-Snapshot View of this StreamGenerator that can be sent to a single requestor.
      Parameters:
      options - serialization options for this specific view
      Returns:
      a MessageView filtered by the snapshot properties that can be sent to that requestor
    • getSnapshotView

      BarrageStreamGenerator.MessageView getSnapshotView(BarrageSnapshotOptions options, @Nullable @Nullable RowSet viewport, boolean reverseViewport, @Nullable @Nullable RowSet keyspaceViewport, BitSet snapshotColumns)
      Obtain a View of this StreamGenerator that can be sent to a single requestor.

      Note that all passed in arguments are owned by the caller and may be modified external to this method.

      Parameters:
      options - serialization options for this specific view
      viewport - is the position-space viewport
      reverseViewport - is the viewport reversed (relative to end of table instead of beginning)
      snapshotColumns - are the columns included for this view
      Returns:
      a MessageView filtered by the snapshot properties that can be sent to that requestor