public static void FilterOnConnectedNotification( IDictionary <string, object> pluginParameters, string type) { pluginParameters.TryGetTypedValue($"{SignalRConstants.RegisteredCallbacks}.{type}", out var registeredCallbacks, obj => (IList <Action <IList <IHubConnectionAdapter>, StatisticsCollector> >)obj); pluginParameters.TryGetTypedValue($"{SignalRConstants.ConnectionType}.{type}", out string connectionType, Convert.ToString); pluginParameters.TryGetTypedValue($"{SignalRConstants.ConnectionStore}.{type}", out IList <IHubConnectionAdapter> connections, (obj) => (IList <IHubConnectionAdapter>)obj); pluginParameters.TryGetTypedValue($"{SignalRConstants.StatisticsStore}.{type}", out StatisticsCollector statisticsCollector, (obj) => (StatisticsCollector)obj); if (!Enum.TryParse <ClientType>(connectionType, out ClientType connType)) { Log.Error($"Fail to parse {connectionType} to enum"); return; } if (connType == ClientType.AspNetCore) { if (!registeredCallbacks.Contains(RegisterCallbackBase.SetDummyCallbackOnConnected)) { RegisterCallbackBase.SetCallbackOnConnected(connections, statisticsCollector); registeredCallbacks.Add(RegisterCallbackBase.SetDummyCallbackOnConnected); } } }
public static void AddOnConnectedCallback( IList <IHubConnectionAdapter> connections, IList <Action <IList <IHubConnectionAdapter>, StatisticsCollector> > registeredCallbacks, StatisticsCollector statisticsCollector) { if (!registeredCallbacks.Contains(RegisterCallbackBase.SetDummyCallbackOnConnected)) { RegisterCallbackBase.SetCallbackOnConnected(connections, statisticsCollector); registeredCallbacks.Add(RegisterCallbackBase.SetDummyCallbackOnConnected); } }