MySQL 8.3.0
Source Code Documentation
gcs_message_stages.h File Reference
#include <atomic>
#include <cassert>
#include <initializer_list>
#include <limits>
#include <map>
#include <memory>
#include <set>
#include <utility>
#include <vector>
#include "plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_message.h"
#include "plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_types.h"
#include "plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_internal_message.h"
#include "plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xcom_group_member_information.h"

Go to the source code of this file.

Classes

class  Gcs_message_stage
 This is a stage in the pipeline that processes messages when they are put through the send and receive code paths. More...
 
class  Gcs_message_pipeline
 This is the pipeline that an outgoing or incoming message has to go through when being sent to or received from the group respectively. More...
 

Typedefs

using Gcs_stages_list = std::vector< Stage_code >
 Definitions of structures that store the possible message stages and their handlers. More...
 
using Gcs_map_type_handler = std::map< Stage_code, std::unique_ptr< Gcs_message_stage > >
 
using Gcs_map_version_stages = std::map< Gcs_protocol_version, Gcs_stages_list >
 
using Gcs_pair_version_stages = std::pair< const Gcs_protocol_version, Gcs_stages_list >
 

Enumerations

enum class  Gcs_pipeline_incoming_result { OK_PACKET , OK_NO_PACKET , ERROR }
 Error code for the pipeline's processing of incoming packets. More...
 

Typedef Documentation

◆ Gcs_map_type_handler

using Gcs_map_type_handler = std::map<Stage_code, std::unique_ptr<Gcs_message_stage> >

◆ Gcs_map_version_stages

◆ Gcs_pair_version_stages

◆ Gcs_stages_list

using Gcs_stages_list = std::vector<Stage_code>

Definitions of structures that store the possible message stages and their handlers.

Enumeration Type Documentation

◆ Gcs_pipeline_incoming_result

enum class Gcs_pipeline_incoming_result
strong

Error code for the pipeline's processing of incoming packets.

Enumerator
OK_PACKET 

Successful, and returned a packet.

OK_NO_PACKET 

Successful, but produces no packet.

E.g. the incoming packet is a fragment, so it was buffered until all fragments arrive and we reassemble the original message.

ERROR 

Unsuccessful.