/* */ #ifndef D_INITIATOR_MSE_HANDSHAKE_COMMAND_H #define D_INITIATOR_MSE_HANDSHAKE_COMMAND_H #include "PeerAbstractCommand.h" namespace aria2 { class RequestGroup; class PeerStorage; class PieceStorage; class BtRuntime; class MSEHandshake; class Option; class InitiatorMSEHandshakeCommand : public PeerAbstractCommand { public: enum Seq { INITIATOR_SEND_KEY, INITIATOR_SEND_KEY_PENDING, INITIATOR_WAIT_KEY, INITIATOR_SEND_STEP2_PENDING, INITIATOR_FIND_VC_MARKER, INITIATOR_RECEIVE_PAD_D_LENGTH, INITIATOR_RECEIVE_PAD_D, }; private: RequestGroup* requestGroup_; SharedHandle peerStorage_; SharedHandle pieceStorage_; SharedHandle btRuntime_; Seq sequence_; MSEHandshake* mseHandshake_; const SharedHandle