Class MessageEncoder

java.lang.Object
com.illumon.iris.sbetransport.server.messages.MessageEncoder
Direct Known Subclasses:
BeginTableUpdateMessageEncoder, ColumnDataMessageEncoder, ConnectionResponseMessageEncoder, EndTableUpdateMessageEncoder, RowsRemovedMessageEncoder, SubscribeResponseMessageEncoder, SubscriptionErrorMessageEncoder, UnsubscribeResponseMessageEncoder

public abstract class MessageEncoder extends Object
Base class for all message encoders. Table update "messages" may be arbitrarily large and hence need to be split among multiple SBE messages, so we need some framework for handling the splitting. Subclasses are expected to use the freeBufferSupplier and messageConsumer callbacks for acquiring free message buffers and enqueing outgoing messages respectively.
  • Field Details

    • messageHeaderEncoder

      protected final MessageHeaderEncoder messageHeaderEncoder
    • log

      protected final com.fishlib.io.logger.Logger log
    • freeBufferSupplier

      protected final Supplier<org.agrona.concurrent.UnsafeBuffer> freeBufferSupplier
    • messageConsumer

      protected final Consumer<org.agrona.concurrent.UnsafeBuffer> messageConsumer