public IWebsocket Build(WebsocketConfiguration config)
    {
        var websocket = new WebSocket(config.uri);

        websocket.InternalRequest.ConnectTimeout = TimeSpan.FromSeconds(8);

        var adapter = new BestHTTPWebsocketAdapter(websocket);

        websocket.OnOpen      += (_) => config.onOpenCallback(adapter);
        websocket.OnClosed    += (_, code, message) => config.onCloseCallback(adapter, code, message);
        websocket.OnErrorDesc += (_, message) => config.onErrorCallback(adapter, message);
        websocket.OnMessage   += (_, msg) => config.onMessageCallback(adapter, msg);

        return(adapter);
    }
 private void OnWebsocketOpen(object sender, EventArgs args)
 {
     _config.onOpenCallback(this);
 }
 public void OnWebsocketOpen(object sender, EventArgs args)
 {
     config.onOpenCallback(this);
 }
 public void OnWebsocketOpen()
 {
     config.onOpenCallback(this);
 }