#[non_exhaustive]#[repr(u32)]pub enum connect_stage {
Show 24 variants
CONNECT_STAGE_INVALID = 0,
CONNECT_STAGE_NOT_STARTED = 1,
CONNECT_STAGE_NET_BEGIN_CONNECT = 2,
CONNECT_STAGE_NET_WAIT_CONNECT = 3,
CONNECT_STAGE_NET_COMPLETE_CONNECT = 4,
CONNECT_STAGE_READ_GREETING = 5,
CONNECT_STAGE_PARSE_HANDSHAKE = 6,
CONNECT_STAGE_ESTABLISH_SSL = 7,
CONNECT_STAGE_AUTHENTICATE = 8,
CONNECT_STAGE_AUTH_BEGIN = 9,
CONNECT_STAGE_AUTH_RUN_FIRST_AUTHENTICATE_USER = 10,
CONNECT_STAGE_AUTH_HANDLE_FIRST_AUTHENTICATE_USER = 11,
CONNECT_STAGE_AUTH_READ_CHANGE_USER_RESULT = 12,
CONNECT_STAGE_AUTH_HANDLE_CHANGE_USER_REQUEST = 13,
CONNECT_STAGE_AUTH_RUN_SECOND_AUTHENTICATE_USER = 14,
CONNECT_STAGE_AUTH_INIT_MULTI_AUTH = 15,
CONNECT_STAGE_AUTH_FINISH_AUTH = 16,
CONNECT_STAGE_AUTH_HANDLE_SECOND_AUTHENTICATE_USER = 17,
CONNECT_STAGE_AUTH_DO_MULTI_PLUGIN_AUTH = 18,
CONNECT_STAGE_AUTH_HANDLE_MULTI_AUTH_RESPONSE = 19,
CONNECT_STAGE_PREP_SELECT_DATABASE = 20,
CONNECT_STAGE_PREP_INIT_COMMANDS = 21,
CONNECT_STAGE_SEND_ONE_INIT_COMMAND = 22,
CONNECT_STAGE_COMPLETE = 23,
}
Expand description
Describes the current state of Asynchronous connection phase state machine
@startuml [] –> CONNECT_STAGE_INVALID [] –> CONNECT_STAGE_NOT_STARTED
CONNECT_STAGE_NOT_STARTED –> CONNECT_STAGE_NET_BEGIN_CONNECT CONNECT_STAGE_NOT_STARTED –> CONNECT_STAGE_COMPLETE
CONNECT_STAGE_NET_BEGIN_CONNECT –> CONNECT_STAGE_NET_WAIT_CONNECT CONNECT_STAGE_NET_BEGIN_CONNECT –> CONNECT_STAGE_NET_COMPLETE_CONNECT CONNECT_STAGE_NET_BEGIN_CONNECT –> STATE_MACHINE_FAILED
CONNECT_STAGE_NET_WAIT_CONNECT –> CONNECT_STAGE_NET_COMPLETE_CONNECT CONNECT_STAGE_NET_WAIT_CONNECT –> STATE_MACHINE_FAILED
CONNECT_STAGE_NET_COMPLETE_CONNECT –> STATE_MACHINE_FAILED CONNECT_STAGE_NET_COMPLETE_CONNECT –> CONNECT_STAGE_READ_GREETING
CONNECT_STAGE_READ_GREETING –> STATE_MACHINE_FAILED CONNECT_STAGE_READ_GREETING –> CONNECT_STAGE_PARSE_HANDSHAKE
CONNECT_STAGE_PARSE_HANDSHAKE –> STATE_MACHINE_FAILED CONNECT_STAGE_PARSE_HANDSHAKE –> CONNECT_STAGE_ESTABLISH_SSL
CONNECT_STAGE_ESTABLISH_SSL –> STATE_MACHINE_FAILED CONNECT_STAGE_ESTABLISH_SSL –> CONNECT_STAGE_AUTHENTICATE
CONNECT_STAGE_AUTHENTICATE –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTHENTICATE –> CONNECT_STAGE_AUTH_BEGIN
CONNECT_STAGE_AUTH_BEGIN –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTH_BEGIN –> CONNECT_STAGE_AUTH_RUN_FIRST_AUTHENTICATE_USER
CONNECT_STAGE_AUTH_RUN_FIRST_AUTHENTICATE_USER –> CONNECT_STAGE_AUTH_HANDLE_FIRST_AUTHENTICATE_USER
CONNECT_STAGE_AUTH_HANDLE_FIRST_AUTHENTICATE_USER –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTH_HANDLE_FIRST_AUTHENTICATE_USER –> CONNECT_STAGE_AUTH_READ_CHANGE_USER_RESULT
CONNECT_STAGE_AUTH_READ_CHANGE_USER_RESULT –> CONNECT_STAGE_AUTH_HANDLE_CHANGE_USER_REQUEST
CONNECT_STAGE_AUTH_HANDLE_CHANGE_USER_REQUEST –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTH_HANDLE_CHANGE_USER_REQUEST –> CONNECT_STAGE_AUTH_RUN_SECOND_AUTHENTICATE_USER CONNECT_STAGE_AUTH_HANDLE_CHANGE_USER_REQUEST –> CONNECT_STAGE_AUTH_INIT_MULTI_AUTH CONNECT_STAGE_AUTH_HANDLE_CHANGE_USER_REQUEST –> CONNECT_STAGE_AUTH_FINISH_AUTH
CONNECT_STAGE_AUTH_RUN_SECOND_AUTHENTICATE_USER –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTH_RUN_SECOND_AUTHENTICATE_USER –> CONNECT_STAGE_AUTH_HANDLE_SECOND_AUTHENTICATE_USER
CONNECT_STAGE_AUTH_HANDLE_SECOND_AUTHENTICATE_USER –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTH_HANDLE_SECOND_AUTHENTICATE_USER –> CONNECT_STAGE_AUTH_INIT_MULTI_AUTH CONNECT_STAGE_AUTH_HANDLE_SECOND_AUTHENTICATE_USER –> CONNECT_STAGE_AUTH_FINISH_AUTH
CONNECT_STAGE_AUTH_INIT_MULTI_AUTH –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTH_INIT_MULTI_AUTH –> CONNECT_STAGE_AUTH_DO_MULTI_PLUGIN_AUTH
CONNECT_STAGE_AUTH_DO_MULTI_PLUGIN_AUTH –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTH_DO_MULTI_PLUGIN_AUTH –> CONNECT_STAGE_AUTH_HANDLE_MULTI_AUTH_RESPONSE
CONNECT_STAGE_AUTH_HANDLE_MULTI_AUTH_RESPONSE –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTH_HANDLE_MULTI_AUTH_RESPONSE –> CONNECT_STAGE_AUTH_INIT_MULTI_AUTH CONNECT_STAGE_AUTH_HANDLE_MULTI_AUTH_RESPONSE –> CONNECT_STAGE_AUTH_FINISH_AUTH
CONNECT_STAGE_AUTH_FINISH_AUTH –> STATE_MACHINE_FAILED CONNECT_STAGE_AUTH_FINISH_AUTH –> CONNECT_STAGE_PREP_SELECT_DATABASE
CONNECT_STAGE_PREP_SELECT_DATABASE –> CONNECT_STAGE_COMPLETE CONNECT_STAGE_PREP_SELECT_DATABASE –> CONNECT_STAGE_PREP_INIT_COMMANDS
CONNECT_STAGE_PREP_INIT_COMMANDS –> CONNECT_STAGE_COMPLETE CONNECT_STAGE_PREP_INIT_COMMANDS –> CONNECT_STAGE_SEND_ONE_INIT_COMMAND
CONNECT_STAGE_SEND_ONE_INIT_COMMAND –> CONNECT_STAGE_SEND_ONE_INIT_COMMAND CONNECT_STAGE_SEND_ONE_INIT_COMMAND –> STATE_MACHINE_FAILED CONNECT_STAGE_SEND_ONE_INIT_COMMAND –> CONNECT_STAGE_COMPLETE
STATE_MACHINE_FAILED –> [] CONNECT_STAGE_COMPLETE –> [] CONNECT_STAGE_INVALID –> [*] @enduml
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
CONNECT_STAGE_INVALID = 0
MYSQL not valid or an unknown state
CONNECT_STAGE_NOT_STARTED = 1
not connected
CONNECT_STAGE_NET_BEGIN_CONNECT = 2
begin connection to the server
CONNECT_STAGE_NET_WAIT_CONNECT = 3
wait for connection to be established
CONNECT_STAGE_NET_COMPLETE_CONNECT = 4
init the local data structures post connect
CONNECT_STAGE_READ_GREETING = 5
read the first packet
CONNECT_STAGE_PARSE_HANDSHAKE = 6
parse the first packet
CONNECT_STAGE_ESTABLISH_SSL = 7
tls establishment
CONNECT_STAGE_AUTHENTICATE = 8
authentication phase
CONNECT_STAGE_AUTH_BEGIN = 9
determine the plugin to use
CONNECT_STAGE_AUTH_RUN_FIRST_AUTHENTICATE_USER = 10
run first auth plugin
CONNECT_STAGE_AUTH_HANDLE_FIRST_AUTHENTICATE_USER = 11
handle the result of the first auth plugin run
CONNECT_STAGE_AUTH_READ_CHANGE_USER_RESULT = 12
read the implied changed user auth, if any
CONNECT_STAGE_AUTH_HANDLE_CHANGE_USER_REQUEST = 13
Check if server asked to use a different authentication plugin
CONNECT_STAGE_AUTH_RUN_SECOND_AUTHENTICATE_USER = 14
Start the authentication process again with the plugin which server asked for
CONNECT_STAGE_AUTH_INIT_MULTI_AUTH = 15
Start multi factor authentication
CONNECT_STAGE_AUTH_FINISH_AUTH = 16
Final cleanup
CONNECT_STAGE_AUTH_HANDLE_SECOND_AUTHENTICATE_USER = 17
Now read the results of the second plugin run
CONNECT_STAGE_AUTH_DO_MULTI_PLUGIN_AUTH = 18
Invoke client plugins multi-auth authentication method
CONNECT_STAGE_AUTH_HANDLE_MULTI_AUTH_RESPONSE = 19
Handle response from client plugins authentication method
CONNECT_STAGE_PREP_SELECT_DATABASE = 20
Authenticated, set initial database if specified
CONNECT_STAGE_PREP_INIT_COMMANDS = 21
Prepare to send a sequence of init commands.
CONNECT_STAGE_SEND_ONE_INIT_COMMAND = 22
Send an init command. This is called once per init command until they’ve all been run (or a failure occurs)
CONNECT_STAGE_COMPLETE = 23
Connected or no async connect in progress
Trait Implementations§
Source§impl Clone for connect_stage
impl Clone for connect_stage
Source§fn clone(&self) -> connect_stage
fn clone(&self) -> connect_stage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more