Class ReceiverPagination
java.lang.Object
io.debezium.ibmi.db2.journal.retrieve.ReceiverPagination
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate DetailedJournalReceiverprivate List<DetailedJournalReceiver>private final JournalInfoprivate final JournalInfoRetrieval(package private) static final org.slf4j.Loggerprivate final BigInteger -
Constructor Summary
ConstructorsConstructorDescriptionReceiverPagination(JournalInfoRetrieval journalInfoRetrieval, int maxServerSideEntries, JournalInfo journalInfo) -
Method Summary
Modifier and TypeMethodDescription(package private) booleancontainsEndPosition(List<DetailedJournalReceiver> receivers, DetailedJournalReceiver endPosition) (package private) Optional<PositionRange>findPosition(JournalProcessedPosition startPosition, BigInteger maxEntries, List<DetailedJournalReceiver> receivers, DetailedJournalReceiver endPosition) should handle reset offset numbers between subsequent entries in the list(package private) PositionRangefindRange(AS400 as400, JournalProcessedPosition startPosition) (package private) PositionRangepaginateInSameReceiver(JournalProcessedPosition startPosition, DetailedJournalReceiver endJournalPosition, BigInteger maxServerSideEntriesBI) only valid when startPosition and endJournalPosition are the same receiver and library(package private) static voidupdateEndPosition(List<DetailedJournalReceiver> list, DetailedJournalReceiver endPosition)
-
Field Details
-
log
static final org.slf4j.Logger log -
journalInfoRetrieval
-
journalInfo
-
maxServerSideEntriesBI
-
cachedEndPosition
-
cachedReceivers
-
-
Constructor Details
-
ReceiverPagination
ReceiverPagination(JournalInfoRetrieval journalInfoRetrieval, int maxServerSideEntries, JournalInfo journalInfo)
-
-
Method Details
-
findRange
- Throws:
Exception
-
updateEndPosition
static void updateEndPosition(List<DetailedJournalReceiver> list, DetailedJournalReceiver endPosition) -
paginateInSameReceiver
PositionRange paginateInSameReceiver(JournalProcessedPosition startPosition, DetailedJournalReceiver endJournalPosition, BigInteger maxServerSideEntriesBI) throws Exception only valid when startPosition and endJournalPosition are the same receiver and library- Parameters:
startPosition-endJournalPosition-maxServerSideEntriesBI-- Returns:
- Throws:
Exception
-
findPosition
Optional<PositionRange> findPosition(JournalProcessedPosition startPosition, BigInteger maxEntries, List<DetailedJournalReceiver> receivers, DetailedJournalReceiver endPosition) should handle reset offset numbers between subsequent entries in the list- Parameters:
startPosition-maxEntries-receivers-- Returns:
- try and find end position at most offsetFromStart from start using the receiver list
-
containsEndPosition
boolean containsEndPosition(List<DetailedJournalReceiver> receivers, DetailedJournalReceiver endPosition)
-