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 bool HideMessageRoundTripLatency( IDictionary <string, object> stepParameters, IDictionary <string, object> pluginParameters) { stepParameters.TryGetTypedValue(SignalRConstants.Type, out string type, 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); 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); if (!Enum.TryParse <ClientType>(connectionType, out ClientType connType)) { Log.Error($"Fail to parse {connectionType} to enum"); return(false); } if (!registeredCallbacks.Contains(RegisterCallbackBase.SetCallback)) { RegisterCallbackBase.SetDummyLatencyCallback(connections, statisticsCollector); registeredCallbacks.Add(RegisterCallbackBase.SetDummyLatencyCallback); return(true); } return(false); }
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); } }