| | |
| | | float snippet_time; |
| | | } FUNASR_RECOG_RESULT; |
| | | |
| | | typedef struct { |
| | | nlohmann::json msg; |
| | | std::shared_ptr<std::vector<char>> samples; |
| | | } FUNASR_MESSAGE; |
| | | |
| | | class WebSocketServer { |
| | | public: |
| | | WebSocketServer(asio::io_context& io_decoder, server* server_) |
| | |
| | | server_->clear_access_channels(websocketpp::log::alevel::all); |
| | | } |
| | | void do_decoder(const std::vector<char>& buffer, |
| | | websocketpp::connection_hdl& hdl); |
| | | websocketpp::connection_hdl& hdl, const nlohmann::json& msg); |
| | | |
| | | void initAsr(std::map<std::string, std::string>& model_path, int thread_num); |
| | | void on_message(websocketpp::connection_hdl hdl, message_ptr msg); |
| | |
| | | |
| | | // use map to keep the received samples data from one connection in offline |
| | | // engine. if for online engline, a data struct is needed(TODO) |
| | | std::map<websocketpp::connection_hdl, std::shared_ptr<std::vector<char>>, |
| | | |
| | | std::map<websocketpp::connection_hdl, std::shared_ptr<FUNASR_MESSAGE>, |
| | | std::owner_less<websocketpp::connection_hdl>> |
| | | sample_map; |
| | | data_map; |
| | | websocketpp::lib::mutex m_lock; // mutex for sample_map |
| | | }; |
| | | |