26 #ifndef __LOG_CARRAY_H 27 #define __LOG_CARRAY_H 86 #include <boost/static_assert.hpp> 213 ALL_SLOT_COUNT = 256,
216 DEFAULT_ACTIVE_SLOT_COUNT = 3,
247 return current_status + size + THREAD_INCREMENT;
258 return current_status & THREAD_MASK;
335 return info - _all_slots;
338 #endif // __LOG_CARRAY_H uint32_t carray_slotid_t
Definition: log_carray.h:122
static carray_status_t join_carray_status(carray_status_t current_status, int32_t size)
Definition: log_carray.h:243
int64_t old_end
Definition: log_carray.h:144
mcs_lock::qnode me2
The secondary queue lock used to delegate buffer-release. Lock head is ConsolidationArray::_expose_lo...
Definition: log_carray.h:138
int32_t _slot_mark
Definition: log_carray.h:315
const bool CARRAY_RELEASE_DELEGATION
Definition: log_carray.h:102
One slot in ConsolidationArray.
Definition: log_carray.h:131
#define w_assert1(x)
Level 1 should not add significant extra time.
Definition: w_base.h:198
const CArraySlot volatile * vthis() const
Definition: log_carray.h:189
static int32_t extract_carray_log_size(carray_status_t current_status)
Definition: log_carray.h:253
w_error_codes
Enum of error codes defined in w_error_xmacro.h.
Definition: w_error.h:43
int64_t carray_status_t
An integer to represents the status of one C-Array slot.
Definition: log_carray.h:116
mcs_lock _expose_lock
Lock to protect threads releasing their log buffer.
Definition: log_carray.h:331
w_error_codes error
Definition: log_carray.h:175
int64_t pos
Definition: log_carray.h:148
int64_t new_end
Definition: log_carray.h:150
mcs_lock::qnode me
Definition: log_carray.h:167
Log Sequence Number. See Log Sequence Numbers (LSN).
Definition: lsn.h:243
carray_status_t count
The current status of this slot.
Definition: log_carray.h:160
int64_t start_pos
Definition: log_carray.h:146
Constants
Definition: log_carray.h:211
int64_t new_base
Definition: log_carray.h:152
int _indexof(const CArraySlot *slot) const
Definition: log_carray.h:334
mcs_lock::qnode * pred2
Definition: log_carray.h:171
CArraySlot ** _active_slots
Definition: log_carray.h:324
lsn_t lsn
Definition: log_carray.h:142
An MCS queuing spinlock.
Definition: mcs_lock.h:61
The implementation class of Consolidation Array.
Definition: log_carray.h:203
Definition: mcs_lock.h:64
CArraySlot volatile * vthis()
Definition: log_carray.h:184
char padding[32 - sizeof(w_error_codes)]
Definition: log_carray.h:178
const int32_t _active_slot_count
Definition: log_carray.h:318