#pragma once #include #include #include #include #include namespace fc { namespace rpc { class websocket_api_connection : public api_connection { public: websocket_api_connection(const std::shared_ptr &c, uint32_t max_conversion_depth ); ~websocket_api_connection(); virtual variant send_call( api_id_type api_id, string method_name, variants args = variants() ) override; virtual variant send_callback( uint64_t callback_id, variants args = variants() ) override; virtual void send_notice( uint64_t callback_id, variants args = variants() ) override; protected: std::string on_message( const std::string& message, bool send_message = true ); std::shared_ptr _connection; fc::rpc::state _rpc_state; }; } } // namespace fc::rpc