/* */ #ifndef D_PEER_INTERACTION_COMMAND_H #define D_PEER_INTERACTION_COMMAND_H #include "PeerAbstractCommand.h" namespace aria2 { class RequestGroup; class BtInteractive; class PeerConnection; class BtRuntime; class PeerStorage; class PieceStorage; class Option; class PeerInteractionCommand : public PeerAbstractCommand { public: enum Seq { INITIATOR_SEND_HANDSHAKE, INITIATOR_WAIT_HANDSHAKE, RECEIVER_WAIT_HANDSHAKE, WIRED}; private: RequestGroup* requestGroup_; std::shared_ptr btRuntime_; std::shared_ptr pieceStorage_; std::shared_ptr peerStorage_; Seq sequence_; std::unique_ptr btInteractive_; const std::shared_ptr