Beispiel #1
0
 public void HandleEvent(JObject e)
 {
     SendAsync(e.ToString(Formatting.None), (success) =>
     {
         if (!success)
         {
             _logger.Log(LogLevel.Error, Resources.WSMessageSendFailed, e);
             _dispatcher.UnsubscribeAll(this);
         }
     });
 }
            public SocketHandler(TinyIoCContainer container, IWebSocketConnection conn, WSServer server)
            {
                _logger     = container.Resolve <ILogger>();
                _dispatcher = container.Resolve <EventDispatcher>();
                _conn       = conn;

                var open = true;

                conn.OnMessage = OnMessage;
                conn.OnClose   = () =>
                {
                    if (!open)
                    {
                        return;
                    }
                    open = false;

                    try
                    {
                        _dispatcher.UnsubscribeAll(this);
                        server._connections.Remove(this);
                    }
                    catch (Exception ex)
                    {
                        _logger.Log(LogLevel.Error, $"Failed to unsubscribe WebSocket connection: {ex}");
                    }
                };
                conn.OnError = (ex) =>
                {
                    // Fleck will close the connection; make sure we always clean up even if Fleck doesn't call OnClose().
                    conn.OnClose();

                    _logger.Log(LogLevel.Info, $"WebSocket connection was closed with error: {ex}");
                };
            }
Beispiel #3
0
        public MinimalApi(Renderer r)
        {
            renderer = r;

            r.BrowserStartLoading += (o, e) =>
            {
                EventDispatcher.UnsubscribeAll(this);
            };

            r.BrowserConsoleLog += (o, e) =>
            {
                Registry.Resolve <ILogger>().Log(LogLevel.Info, $"OverlayControl: {e.Message} ({e.Source})");
            };
        }
Beispiel #4
0
        public MinimalApi(Renderer r, TinyIoCContainer container)
        {
            renderer   = r;
            logger     = container.Resolve <ILogger>();
            dispatcher = container.Resolve <EventDispatcher>();

            r.BrowserStartLoading += (o, e) =>
            {
                dispatcher.UnsubscribeAll(this);
            };

            r.BrowserConsoleLog += (o, e) =>
            {
                logger.Log(LogLevel.Info, $"OverlayControl: {e.Message} ({e.Source})");
            };
        }
Beispiel #5
0
            public SocketHandler(TinyIoCContainer container, IWebSocketConnection conn, WSServer server)
            {
                _logger     = container.Resolve <ILogger>();
                _dispatcher = container.Resolve <EventDispatcher>();
                _conn       = conn;

                conn.OnMessage = OnMessage;
                conn.OnClose   = () =>
                {
                    try
                    {
                        _dispatcher.UnsubscribeAll(this);
                        server._connections.Remove(this);
                    }
                    catch (Exception ex)
                    {
                        _logger.Log(LogLevel.Error, $"Failed to unsubscribe WebSocket connection: {ex}");
                    }
                };
            }
Beispiel #6
0
            protected override void OnClose(CloseEventArgs e)
            {
                base.OnClose(e);

                EventDispatcher.UnsubscribeAll(this);
            }