From: Ricardo Dias Date: Thu, 27 Sep 2018 15:06:25 +0000 (+0100) Subject: msg/async: ProtocolV1 state machine ascii diagram X-Git-Tag: v14.0.1~77^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2025602df240808514a0c58e4bd3e9ae24068d71;p=ceph.git msg/async: ProtocolV1 state machine ascii diagram Signed-off-by: Ricardo Dias --- diff --git a/src/msg/async/Protocol.h b/src/msg/async/Protocol.h index 825d3da2ee6f..88dbb6b1077f 100644 --- a/src/msg/async/Protocol.h +++ b/src/msg/async/Protocol.h @@ -41,6 +41,51 @@ public: }; class ProtocolV1 : public Protocol { +/* + * ProtocolV1 State Machine + * + + send_server_banner send_client_banner + | | + v v + wait_client_banner wait_server_banner + | | + | v + v handle_server_banner_and_identify + wait_connect_message <---------\ | + | | | v + | wait_connect_message_auth | send_connect_message <----------\ + | | | | | + v v | | | +handle_connect_message_2 | v | + | | | wait_connect_reply | + v v | | | | + replace -> send_connect_message_reply | V | + | | wait_connect_reply_auth | + | | | | + v v v | + open ---\ handle_connect_reply_2 --------/ + | | | + | v v + | wait_seq wait_ack_seq + | | | + v v v + server_ready client_ready + | | + \------------------> wait_message <------------/ + | ^ | ^ + /------------------------/ | | | + | | | \----------------- ------------\ + v /----------/ v | +handle_keepalive2 | handle_message_header read_message_footer +handle_keepalive2_ack | | ^ +handle_tag_ack | v | + | | throttle_message read_message_data + \----------------/ | ^ + v | + read_message_front --> read_message_middle --/ +*/ + protected: enum State { NONE = 0,