Package deltix.qsrv.hf.tickdb.pub.topic
Interface MessagePoller
-
- All Superinterfaces:
java.lang.AutoCloseable,java.io.Closeable,deltix.util.lang.Disposable
@ParametersAreNonnullByDefault public interface MessagePoller extends deltix.util.lang.DisposableExecutes processing of messages from topic. Please note thatDisposable.close()method must be called from the same treas asprocessMessages(int, deltix.qsrv.hf.tickdb.pub.topic.MessageProcessor)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description bytegetBufferFillPercentage()Provides estimate of amount of data in the incoming message buffer.intprocessMessages(int messageCountLimit, MessageProcessor messageProcessor)Executes non-blocking message processing.
-
-
-
Method Detail
-
processMessages
int processMessages(int messageCountLimit, @Nonnull MessageProcessor messageProcessor)Executes non-blocking message processing. If there are no messages available then this call returns 0 (without blocking).IMPORTANT: Don't create a new processor instance for each call. Create it once outside the polling loop.
- Parameters:
messageCountLimit- maximum number of messages to process during this method callmessageProcessor- processor for messages.- Returns:
- number of messages to process.
-
getBufferFillPercentage
byte getBufferFillPercentage()
Provides estimate of amount of data in the incoming message buffer.Note: value 0 does not necessary mean 0 incoming messages. Don't use this method to check if there messages to process.
WARNING: This operation is relatively slow. Do not use it for each message. It's a good practice to call this method only once per 100 or 1000 messages.
- Returns:
- number in range from 0 to 100. 0 means that buffer is close to empty and 100 mean that buffer is full.
-
-