MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NdbEventBuffer Class Reference
Collaboration diagram for NdbEventBuffer:

Classes

struct  EventBufData_chunk

Public Member Functions

 NdbEventBuffer (Ndb *)
 STATIC_CONST (ACTIVE_GCI_DIRECTORY_SIZE=4)
 STATIC_CONST (ACTIVE_GCI_MASK=ACTIVE_GCI_DIRECTORY_SIZE-1)
NdbEventOperationcreateEventOperation (const char *eventName, NdbError &)
NdbEventOperationImplcreateEventOperationImpl (NdbEventImpl &evnt, NdbError &)
void dropEventOperation (NdbEventOperation *)
void add_drop_lock ()
void add_drop_unlock ()
void lock ()
void unlock ()
void add_op ()
void remove_op ()
void init_gci_containers ()
int insertDataL (NdbEventOperationImpl *op, const SubTableData *const sdata, Uint32 len, LinearSectionPtr ptr[3])
void execSUB_GCP_COMPLETE_REP (const SubGcpCompleteRep *const, Uint32 len, int complete_cluster_failure=0)
void complete_outof_order_gcis ()
void report_node_failure_completed (Uint32 node_id)
Uint64 getLatestGCI ()
Uint32 getEventId (int bufferId)
int pollEvents (int aMillisecondNumber, Uint64 *latestGCI=0)
int flushIncompleteEvents (Uint64 gci)
NdbEventOperationnextEvent ()
bool isConsistent (Uint64 &gci)
bool isConsistentGCI (Uint64 gci)
NdbEventOperationImplgetGCIEventOperations (Uint32 *iter, Uint32 *event_types)
void deleteUsedEventOperations (Uint64 last_consumed_gci)
NdbEventOperationImplmove_data ()
EventBufDataalloc_data ()
int alloc_mem (EventBufData *data, LinearSectionPtr ptr[3], Uint32 *change_sz)
void dealloc_mem (EventBufData *data, Uint32 *change_sz)
int copy_data (const SubTableData *const sdata, Uint32 len, LinearSectionPtr ptr[3], EventBufData *data, Uint32 *change_sz)
int merge_data (const SubTableData *const sdata, Uint32 len, LinearSectionPtr ptr[3], EventBufData *data, Uint32 *change_sz)
int get_main_data (Gci_container *bucket, EventBufData_hash::Pos &hpos, EventBufData *blob_data)
void add_blob_data (Gci_container *bucket, EventBufData *main_data, EventBufData *blob_data)
void free_list (EventBufData_list &list)
void reportStatus ()
void set_total_buckets (Uint32)

Static Public Member Functions

static NdbEventOperationImplgetEventOperationImpl (NdbEventOperation *tOp)

Public Attributes

Uint32 m_total_buckets
Uint16 m_min_gci_index
Uint16 m_max_gci_index
Vector< Uint64 > m_known_gci
Vector< Gci_container_podm_active_gci
Ndbm_ndb
Uint64 m_latestGCI
Uint64 m_latest_complete_GCI
Uint64 m_highest_sub_gcp_complete_GCI
Uint64 m_latest_poll_GCI
bool m_startup_hack
NdbMutex * m_mutex
struct NdbConditionp_cond
Gci_container m_complete_data
EventBufDatam_free_data
Uint32 m_free_data_sz
EventBufData_list m_available_data
EventBufData_list m_used_data
unsigned m_total_alloc
unsigned m_free_thresh
unsigned m_min_free_thresh
unsigned m_max_free_thresh
unsigned m_gci_slip_thresh
NdbError m_error

Static Public Attributes

static NdbMutex * p_add_drop_mutex

Detailed Description

Definition at line 480 of file NdbEventOperationImpl.hpp.

Member Function Documentation

void NdbEventBuffer::dropEventOperation ( NdbEventOperation tOp)

Needs mutex lock as report_node_XXX accesses list...

Definition at line 3384 of file NdbEventOperationImpl.cpp.

Here is the caller graph for this function:

void NdbEventBuffer::execSUB_GCP_COMPLETE_REP ( const SubGcpCompleteRep * const  rep,
Uint32  len,
int  complete_cluster_failure = 0 
)

Already completed GCI... Possible in case of resend during NF handling

out of order something

Definition at line 1925 of file NdbEventOperationImpl.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

int NdbEventBuffer::flushIncompleteEvents ( Uint64  gci)

Find min complete gci

Definition at line 1291 of file NdbEventOperationImpl.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

int NdbEventBuffer::insertDataL ( NdbEventOperationImpl op,
const SubTableData *const  sdata,
Uint32  len,
LinearSectionPtr  ptr[3] 
)

Already completed GCI... Possible in case of resend during NF handling

Definition at line 2449 of file NdbEventOperationImpl.cpp.

Here is the call graph for this function:

void NdbEventBuffer::report_node_failure_completed ( Uint32  node_id)

Insert this event for each operation

Inject new event

Insert this event for each operation

And finally complete this GCI

Definition at line 2323 of file NdbEventOperationImpl.cpp.

Here is the call graph for this function:


The documentation for this class was generated from the following files: