Class TickCursorClientAeronMulticast

  • All Implemented Interfaces:
    deltix.data.stream.MessageSource<deltix.qsrv.hf.pub.InstrumentMessage>, RealTimeMessageSource<deltix.qsrv.hf.pub.InstrumentMessage>, MessageInfo, TypedMessageSource, deltix.util.concurrent.AbstractCursor, deltix.util.lang.Disposable, io.aeron.logbuffer.ControlledFragmentHandler, java.io.Closeable, java.lang.AutoCloseable

    public class TickCursorClientAeronMulticast
    extends java.lang.Object
    implements deltix.data.stream.MessageSource<deltix.qsrv.hf.pub.InstrumentMessage>, RealTimeMessageSource<deltix.qsrv.hf.pub.InstrumentMessage>, io.aeron.logbuffer.ControlledFragmentHandler, MessageInfo
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.aeron.logbuffer.ControlledFragmentHandler

        io.aeron.logbuffer.ControlledFragmentHandler.Action
    • Constructor Detail

      • TickCursorClientAeronMulticast

        public TickCursorClientAeronMulticast​(deltix.qsrv.hf.tickdb.comm.client.DXRemoteDB db,
                                              VSChannel channel,
                                              boolean raw,
                                              TickStream stream,
                                              DXAeronSubscriptionChecker subscriptionChecker,
                                              int aeronDataStreamId,
                                              io.aeron.Aeron aeron,
                                              java.lang.String aeronChannel)
    • Method Detail

      • isClosed

        public boolean isClosed()
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface deltix.util.lang.Disposable
      • next

        public boolean next()
        Specified by:
        next in interface deltix.util.concurrent.AbstractCursor
      • onFragment

        public io.aeron.logbuffer.ControlledFragmentHandler.Action onFragment​(org.agrona.DirectBuffer buffer,
                                                                              int offset,
                                                                              int length,
                                                                              io.aeron.logbuffer.Header header)
        Specified by:
        onFragment in interface io.aeron.logbuffer.ControlledFragmentHandler
      • getCurrentStreamKey

        public java.lang.String getCurrentStreamKey()
        Description copied from interface: MessageInfo
        Return the key of the stream that is the source of the current message.
        Specified by:
        getCurrentStreamKey in interface MessageInfo
        Returns:
        The source stream key.
      • getCurrentStream

        public TickStream getCurrentStream()
        Description copied from interface: MessageInfo
        Return the current stream instance, unless it has been removed, in which case null is returned.
        Specified by:
        getCurrentStream in interface MessageInfo
      • getCurrentStreamIndex

        public int getCurrentStreamIndex()
        Description copied from interface: MessageInfo
        Return the index of the stream that is the source of the current message.
        Specified by:
        getCurrentStreamIndex in interface MessageInfo
        Returns:
        The current message source stream's index.
      • getMessage

        public deltix.qsrv.hf.pub.InstrumentMessage getMessage()
        Description copied from interface: MessageInfo
        Returns the current message.
        Specified by:
        getMessage in interface MessageInfo
        Specified by:
        getMessage in interface deltix.data.stream.MessageSource<deltix.qsrv.hf.pub.InstrumentMessage>
      • isAtEnd

        public boolean isAtEnd()
        Specified by:
        isAtEnd in interface deltix.util.concurrent.AbstractCursor
      • getCurrentEntityIndex

        public int getCurrentEntityIndex()
        Description copied from interface: MessageInfo
        Return a small number identifying the returned entity. This number is unique throughout the life of the message source. Removing entities from subscription does not create reusable holes in the "space" of entity indexes.
        Specified by:
        getCurrentEntityIndex in interface MessageInfo
        See Also:
        EntitySubscriptionController
      • setAvailabilityListener

        public void setAvailabilityListener​(java.lang.Runnable lnr)
      • isRealTime

        public boolean isRealTime()
        Specified by:
        isRealTime in interface RealTimeMessageSource<deltix.qsrv.hf.pub.InstrumentMessage>
        Returns:
        true if this source already switched from historical to real-time data portion
      • realTimeAvailable

        public boolean realTimeAvailable()
        Specified by:
        realTimeAvailable in interface RealTimeMessageSource<deltix.qsrv.hf.pub.InstrumentMessage>
        Returns:
        true if source can be switched in real-time. When realtime mode is available client can use method RealTimeMessageSource.isRealTime() ()} to detect switch from historical to real-time portion of data. Also in this mode client will receive special message RealTimeStartMessage .