Interface BarrageStreamGenerator<MessageView>

Type Parameters:
MessageView - The sub-view type that the listener expects to receive.
All Superinterfaces:
AutoCloseable, SafeCloseable
All Known Implementing Classes:
BarrageStreamGeneratorImpl

public interface BarrageStreamGenerator<MessageView> 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

      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 or not this is the first snapshot for the listener
      Returns:
      a MessageView filtered by the subscription properties that can be sent to that subscriber
    • getSubView

      MessageView getSubView(BarrageSubscriptionOptions options, boolean isInitialSnapshot, @Nullable @Nullable RowSet viewport, boolean reverseViewport, @Nullable @Nullable RowSet keyspaceViewport, BitSet subscribedColumns)
      Obtain a View of this StreamGenerator that can be sent to a single subscriber.
      Parameters:
      options - serialization options for this specific view
      isInitialSnapshot - indicates whether or not this is the first snapshot for the listener
      viewport - is the position-space viewport
      reverseViewport - is the viewport reversed (relative to end of table instead of beginning)
      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

      MessageView getSnapshotView(BarrageSnapshotOptions options)
      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

      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.
      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