// l7vsd_mainthread main_thread;
boost::asio::io_service& dispatcher;
boost::asio::local::stream_protocol::acceptor acceptor_;
- l7vsd parent;
+ l7vsd& vsd;
void handle_accept( boost::shared_ptr<command_session>, const boost::system::error_code& );
public:
- command_receiver( boost::asio::io_service& io_service, const std::string& file )
+ command_receiver( boost::asio::io_service& io_service, const std::string& file, l7vsd& parent )
: dispatcher( io_service ),
- acceptor_( io_service, boost::asio::local::stream_protocol::endpoint( file ) );
+ acceptor_( io_service, boost::asio::local::stream_protocol::endpoint( file ) ),
+ vsd( parent );
~command_receiver();
};
boost::array<char, MAX_BUFFER_SIZE> command_buffer;
boost::array<char, MAX_BUFFER_SIZE> response_buffer;
l7vsadm_request request_;
- l7vsd parent;
+ l7vsd& vsd;
command_session(){}
void handle_read( const boost::system::error_code&, size_t );
void handle_write( const boost::system::error_code& );
public:
- command_session( boost::asio::io_service& io_service ) : unixsocket( io_service );
+ command_session( boost::asio::io_service& io_service, l7vsd& parent ) : unixsocket( io_service ), vsd( parent );
boost::asio::local::stream_protocol::socket& socket(){ return unixsocket; }
void start();
};
CLIENT_CONNECTION_CHECK,
CLIENT_SEND,
//COMMON Status
- CLIENT_RESPOND_SEND,
+ CLIENT_RESPONSE_SEND,
REALSERVER_DISCONNECT,
SORRYSERVER_DISCONNECT,
CLIENT_DISCONNECT,
virtual void handle_rslist_update() = 0;
- virtual check_message_result set_parameter( const std::vector<std::string>& args ) = 0;
- virtual check_message_result add_parameter( const std::vector<std::string>& args ) = 0;
+ virtual check_message_result& set_parameter( const std::vector<std::string>& args ) = 0;
+ virtual check_message_result& add_parameter( const std::vector<std::string>& args ) = 0;
virtual void register_schedule(
boost::function< boost::asio::ip::basic_endpoint&(
const boost::array<char,MAX_BUFFER_SIZE>& readbuffer,
const int recvlen ) = 0;
+ virtual EVENT_TAG handle_response_send_inform(
+ const boost::thread::id thread_id );
+
virtual EVENT_TAG handle_client_connection_check(
const boost::thread::id thread_id,
const boost::asio::ip::basic_endpoint & recv_endpoint,