1 #ifndef __LOG_CONSUMER_H 2 #define __LOG_CONSUMER_H 36 lsn_t* nextLSN =
nullptr,
lsn_t* stopLSN =
nullptr,
37 int* lrLength =
nullptr);
47 blockSize(blockSize) {
87 bitset<logrec_t::t_max_logrec>
ignore;
153 bool waitForActivation();
176 rc_t openPartition();
187 virtual void do_work();
223 void open(
lsn_t endLSN,
bool readWholeBlocks =
false);
231 static void initLogScanner(
LogScanner* logScanner);
255 #endif // __LOG_CONSUMER_H size_t pos
Definition: log_consumer.h:248
Parses log records from a stream of binary data.
Definition: log_consumer.h:33
Definition: ringbuffer.h:38
Definition: log_storage.h:160
bool isIgnored(logrec_t::kind_t type)
Definition: log_consumer.h:72
void setIgnore(logrec_t::kind_t type)
Definition: log_consumer.h:60
size_t getBlockSize()
Definition: log_consumer.h:56
bool readWholeBlocks
Definition: log_consumer.h:250
ReaderThread * reader
Definition: log_consumer.h:236
LogScanner(size_t blockSize)
Definition: log_consumer.h:43
size_t truncCopied
Definition: log_consumer.h:77
std::atomic< bool > * shutdownFlag
Definition: log_consumer.h:145
size_t blockSize
Definition: log_consumer.h:246
bool listening
Definition: log_consumer.h:143
size_t toSkip
Definition: log_consumer.h:81
static const lsn_t null
Definition: lsn.h:371
uint nextPartition
Definition: log_consumer.h:174
pthread_mutex_t mutex
Definition: log_consumer.h:135
Represents a transactional log record.
Definition: logrec.h:143
char * currentBlock
Definition: log_consumer.h:244
void unsetIgnore(logrec_t::kind_t type)
Definition: log_consumer.h:68
int currentFd
Definition: log_consumer.h:180
virtual ~ReaderThread()
Definition: log_consumer.h:191
Log Sequence Number. See Log Sequence Numbers (LSN).
Definition: lsn.h:243
bool nextLogrec(char *src, size_t &pos, logrec_t *&lr, lsn_t *nextLSN=nullptr, lsn_t *stopLSN=nullptr, int *lrLength=nullptr)
Definition: log_consumer.cpp:401
off_t pos
Definition: log_consumer.h:182
lsn_t nextLSN
Definition: log_consumer.h:240
lsn_t endLSN
Definition: log_consumer.h:242
void ignoreAll()
Definition: log_consumer.h:64
bool hasPartialLogrec()
Definition: log_consumer.cpp:384
Return code for most functions and methods.
Definition: w_rc.h:87
LogScanner * logScanner
Definition: log_consumer.h:238
bool activated
Definition: log_consumer.h:141
Object to control execution of background threads.
Definition: log_consumer.h:134
const size_t blockSize
Definition: log_consumer.h:83
lsn_t getNextLSN()
Definition: log_consumer.h:227
~LogScanner()
Definition: log_consumer.h:52
void reset()
Definition: log_consumer.cpp:388
Asynchronous reader thread for the recovery log.
Definition: log_consumer.h:172
Provides a record-at-a-time interface to the recovery log using asynchronous read operations...
Definition: log_consumer.h:215
lsn_t localEndLSN
Definition: log_consumer.h:184
pthread_cond_t activateCond
Definition: log_consumer.h:137
AsyncRingBuffer * buf
Definition: log_consumer.h:178
size_t truncMissing
Definition: log_consumer.h:79
size_t getBlockSize()
Definition: log_consumer.h:193
AsyncRingBuffer * readbuf
Definition: log_consumer.h:234
size_t getBlockSize()
Definition: ringbuffer.h:56
bitset< logrec_t::t_max_logrec > ignore
Definition: log_consumer.h:87
kind_t
Definition: logrec.h:149
lsn_t endLSN
Definition: log_consumer.h:139
char * truncBuf
Definition: log_consumer.h:85
Definition: worker_thread.h:110