private void BroadcastConnectionEvents(AppConnectionEvent connectionEvent) { var lifecycleEvent = new AppLifecycleEvent(); switch (connectionEvent.Type) { case ConnectionEventType.AppConnected: lifecycleEvent.Connected = new AppConnectedEvent { ConnectionDescriptor = connectionEvent.Connection.ToProto() }; break; case ConnectionEventType.AppDisconnected: lifecycleEvent.Disconnected = new AppDisconnectedEvent { ConnectionDescriptor = connectionEvent.Connection.ToProto() }; break; case ConnectionEventType.AppConnectionError: lifecycleEvent.Error = new AppConnectionErrorEvent { ConnectionDescriptor = connectionEvent.Connection.ToProto() }; break; default: Log.Error($"Unknown connection event type {connectionEvent.Type}"); return; } ; _appLifecycleEventBroadcaster.OnNext(lifecycleEvent); }
private void OnAppConnectedOrDisconnected(AppConnectionEvent connectionEvent) { var connection = connectionEvent.Connection; var contextsOfApp = _contextsSet.GetContextsOf(connection.ApplicationInstanceId); foreach (var context in contextsOfApp) { if (connectionEvent.Type == ConnectionEventType.AppConnected) { context.AppConnected(connection); } else { context.AppDisconnected(connection); } } }
private void OnAppConnectedOrDisconnected(AppConnectionEvent connectionEvent) { var connection = connectionEvent.Connection; var contextsOfApp = _contextsSet.GetContextsOf(connection.ApplicationInstanceId); foreach (var context in contextsOfApp) { switch (connectionEvent.Type) { case ConnectionEventType.AppConnected: context.AppConnected(connection); break; case ConnectionEventType.AppDisconnected: context.AppDisconnected(connection); break; } } }
private void BroadcastConnectionEvents(AppConnectionEvent connectionEvent) { var lifecycleEvent = new AppLifecycleEvent(); if (connectionEvent.Type == ConnectionEventType.AppConnected) { lifecycleEvent.Connected = new AppConnectedEvent { ConnectionDescriptor = connectionEvent.Connection.ToProto() }; } else { lifecycleEvent.Disconnected = new AppDisconnectedEvent { ConnectionDescriptor = connectionEvent.Connection.ToProto() }; } _appLifecycleEventBroadcaster.BroadcastEvent(lifecycleEvent); }
private GetConnectionsEvent CreateGetConnectionsEvent(GetConnectionsRequest request, AppConnectionEvent appConnectionEvent) { var response = CreateInitialGetConnectionsEvent(request); if (appConnectionEvent.Type == ConnectionEventType.AppConnected) { response.NewConnection = appConnectionEvent.Connection.ToProto(); } else { response.ClosedConnection = appConnectionEvent.Connection.ToProto(); } return(response); }
private GetConnectionsEvent CreateGetConnectionsEvent(GetConnectionsRequest request, AppConnectionEvent appConnectionEvent) { var response = CreateInitialGetConnectionsEvent(request); switch (appConnectionEvent.Type) { case ConnectionEventType.AppConnected: response.NewConnection = appConnectionEvent.Connection.ToProto(); return(response); case ConnectionEventType.AppDisconnected: response.ClosedConnection = appConnectionEvent.Connection.ToProto(); return(response); default: return(null); } }