Class StreamingEntryReader
- java.lang.Object
-
- org.apache.pulsar.broker.service.streamingdispatch.StreamingEntryReader
-
- All Implemented Interfaces:
org.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntryCallback,org.apache.bookkeeper.mledger.WaitingEntryCallBack
public class StreamingEntryReader extends java.lang.Object implements org.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntryCallback, org.apache.bookkeeper.mledger.WaitingEntryCallBackEntry reader that fulfill read request by streamline the read instead of reading with micro batch.
-
-
Constructor Summary
Constructors Constructor Description StreamingEntryReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidasyncReadEntries(int numEntriesToRead, long maxReadSizeByte, java.lang.Object ctx)Read entries in streaming way, that said instead of reading with micro batch and send entries to consumer after all entries in the batch are read from ledger, this method will fire numEntriesToRead requests to managedLedger and send entry to consumer whenever it is read && all entries before it have been sent to consumer.booleancancelReadRequests()voidentriesAvailable()protected org.apache.pulsar.broker.service.streamingdispatch.StreamingEntryReader.StategetState()voidreadEntryComplete(org.apache.bookkeeper.mledger.Entry entry, java.lang.Object ctx)voidreadEntryFailed(org.apache.bookkeeper.mledger.ManagedLedgerException exception, java.lang.Object ctx)
-
-
-
Method Detail
-
asyncReadEntries
public void asyncReadEntries(int numEntriesToRead, long maxReadSizeByte, java.lang.Object ctx)Read entries in streaming way, that said instead of reading with micro batch and send entries to consumer after all entries in the batch are read from ledger, this method will fire numEntriesToRead requests to managedLedger and send entry to consumer whenever it is read && all entries before it have been sent to consumer.- Parameters:
numEntriesToRead- number of entry to read from ledger.maxReadSizeByte- maximum byte will be read from ledger.ctx- Context send along with read request.
-
readEntryComplete
public void readEntryComplete(org.apache.bookkeeper.mledger.Entry entry, java.lang.Object ctx)- Specified by:
readEntryCompletein interfaceorg.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntryCallback
-
readEntryFailed
public void readEntryFailed(org.apache.bookkeeper.mledger.ManagedLedgerException exception, java.lang.Object ctx)- Specified by:
readEntryFailedin interfaceorg.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntryCallback
-
cancelReadRequests
public boolean cancelReadRequests()
-
entriesAvailable
public void entriesAvailable()
- Specified by:
entriesAvailablein interfaceorg.apache.bookkeeper.mledger.WaitingEntryCallBack
-
getState
protected org.apache.pulsar.broker.service.streamingdispatch.StreamingEntryReader.State getState()
-
-