Esempio n. 1
0
 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);
         }
     }
 }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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);
     }
 }