diff --git a/CryptoExchange.Net/Clients/BaseClient.cs b/CryptoExchange.Net/Clients/BaseClient.cs
index 2a7a589..6a2c280 100644
--- a/CryptoExchange.Net/Clients/BaseClient.cs
+++ b/CryptoExchange.Net/Clients/BaseClient.cs
@@ -1,5 +1,4 @@
using CryptoExchange.Net.Authentication;
-using CryptoExchange.Net.Objects;
using CryptoExchange.Net.Objects.Options;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
diff --git a/CryptoExchange.Net/Clients/SocketApiClient.cs b/CryptoExchange.Net/Clients/SocketApiClient.cs
index 57f3180..8cf3c1d 100644
--- a/CryptoExchange.Net/Clients/SocketApiClient.cs
+++ b/CryptoExchange.Net/Clients/SocketApiClient.cs
@@ -1,4 +1,3 @@
-using CryptoExchange.Net.Converters;
using CryptoExchange.Net.Interfaces;
using CryptoExchange.Net.Objects;
using CryptoExchange.Net.Objects.Options;
@@ -41,11 +40,6 @@ namespace CryptoExchange.Net
///
protected TimeSpan KeepAliveInterval { get; set; } = TimeSpan.FromSeconds(10);
- ///
- /// Delegate used for manipulating data received from socket connections before it is processed by listeners
- ///
- protected Func? interceptor;
-
///
/// Handlers for data from the socket which doesn't need to be forwarded to the caller. Ping or welcome messages for example.
///
@@ -498,7 +492,6 @@ namespace CryptoExchange.Net
protected virtual WebSocketParameters GetWebSocketParameters(string address)
=> new(new Uri(address), ClientOptions.AutoReconnect)
{
- Interceptor = interceptor,
KeepAliveInterval = KeepAliveInterval,
ReconnectInterval = ClientOptions.ReconnectInterval,
RateLimiters = RateLimiters,
diff --git a/CryptoExchange.Net/CommonObjects/Enums.cs b/CryptoExchange.Net/CommonObjects/Enums.cs
index 7d1986f..1d73e03 100644
--- a/CryptoExchange.Net/CommonObjects/Enums.cs
+++ b/CryptoExchange.Net/CommonObjects/Enums.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace CryptoExchange.Net.CommonObjects
+namespace CryptoExchange.Net.CommonObjects
{
///
/// Order type
diff --git a/CryptoExchange.Net/CommonObjects/OrderBook.cs b/CryptoExchange.Net/CommonObjects/OrderBook.cs
index 31f714d..2703675 100644
--- a/CryptoExchange.Net/CommonObjects/OrderBook.cs
+++ b/CryptoExchange.Net/CommonObjects/OrderBook.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Text;
namespace CryptoExchange.Net.CommonObjects
{
diff --git a/CryptoExchange.Net/CommonObjects/OrderId.cs b/CryptoExchange.Net/CommonObjects/OrderId.cs
index 2827a0e..333e742 100644
--- a/CryptoExchange.Net/CommonObjects/OrderId.cs
+++ b/CryptoExchange.Net/CommonObjects/OrderId.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace CryptoExchange.Net.CommonObjects
+namespace CryptoExchange.Net.CommonObjects
{
///
/// Id of an order
diff --git a/CryptoExchange.Net/CommonObjects/Ticker.cs b/CryptoExchange.Net/CommonObjects/Ticker.cs
index e5c527a..4513bf5 100644
--- a/CryptoExchange.Net/CommonObjects/Ticker.cs
+++ b/CryptoExchange.Net/CommonObjects/Ticker.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace CryptoExchange.Net.CommonObjects
+namespace CryptoExchange.Net.CommonObjects
{
///
/// Ticker data
diff --git a/CryptoExchange.Net/Converters/JTokenAccessor.cs b/CryptoExchange.Net/Converters/JTokenAccessor.cs
deleted file mode 100644
index c21f330..0000000
--- a/CryptoExchange.Net/Converters/JTokenAccessor.cs
+++ /dev/null
@@ -1,158 +0,0 @@
-//using CryptoExchange.Net.Interfaces;
-//using CryptoExchange.Net.Objects.Sockets;
-//using Newtonsoft.Json;
-//using Newtonsoft.Json.Linq;
-//using System;
-//using System.Collections.Generic;
-//using System.IO;
-//using System.Linq;
-//using System.Runtime.InteropServices.ComTypes;
-//using System.Text;
-
-//namespace CryptoExchange.Net.Converters
-//{
-// internal class JTokenAccessor : IMessageAccessor
-// {
-// private readonly JToken _token;
-// private readonly Stream _stream;
-// private readonly StreamReader _reader;
-// private Dictionary _cache = new Dictionary();
-// private static JsonSerializer _serializer = JsonSerializer.Create(SerializerOptions.WithConverters);
-
-// public JTokenAccessor(Stream stream)
-// {
-// _stream = stream;
-// _reader = new StreamReader(stream, Encoding.UTF8, false, (int)stream.Length, true);
-// using var jsonTextReader = new JsonTextReader(_reader);
-// JToken token;
-// try
-// {
-// _token = JToken.Load(jsonTextReader);
-// }
-// catch (Exception ex)
-// {
-// // Not a json message
-// throw;
-// }
-// }
-
-// public BaseParsedMessage Instantiate(Type type)
-// {
-// var resultMessageType = typeof(ParsedMessage<>).MakeGenericType(type);
-// var instance = (BaseParsedMessage)Activator.CreateInstance(resultMessageType, type == null ? null : _token.ToObject(type, _serializer));
-// return instance;
-// }
-
-// public string GetOriginalString()
-// {
-// _stream.Position = 0;
-// return _reader.ReadToEnd();
-// }
-
-// public int? GetArrayIntValue(string? key, int index)
-// {
-// var accessToken = key == null ? _token : GetToken(key);
-// if (accessToken == null || accessToken is not JArray arr)
-// return null;
-// return arr[index].Value();
-// }
-
-// public string? GetArrayStringValue(string? key, int index)
-// {
-// var accessToken = key == null ? _token : GetToken(key);
-// if (accessToken == null || accessToken is not JArray arr)
-// return null;
-
-// if (arr.Count <= index)
-// return null;
-
-// if (arr[index].Type != JTokenType.String)
-// return null;
-
-// return arr[index].Value();
-// }
-
-// public int? GetCount(string key)
-// {
-// var accessToken = GetToken(key);
-// return accessToken.Count();
-// }
-
-// public int? GetIntValue(string key)
-// {
-// var accessToken = GetToken(key);
-// return accessToken?.Value();
-// }
-
-// public string? GetStringValue(string key)
-// {
-// var accessToken = GetToken(key);
-// if (accessToken?.Type == JTokenType.Object)
-// return ((JObject)accessToken).Properties().First().Name;
-
-// return accessToken?.ToString();
-// }
-
-// public bool IsObject(string? key) => _token.Type == JTokenType.Object;
-// public bool IsArray(IEnumerable indexes)
-// {
-// var item = _token;
-// foreach(var index in indexes)
-// {
-// if (item.Type != JTokenType.Array)
-// return false;
-
-// var arr = ((JArray)item);
-// if (arr.Count <= index)
-// return false;
-
-// item = arr[index];
-// }
-
-// return item.Type == JTokenType.Array;
-// }
-
-// public bool IsEmptyArray(IEnumerable indexes)
-// {
-// var item = _token;
-// foreach (var index in indexes)
-// {
-// if (item.Type != JTokenType.Array)
-// return false;
-
-// var arr = ((JArray)item);
-// if (arr.Count <= index)
-// return false;
-
-// item = arr[index];
-// }
-
-// return item.Type == JTokenType.Array && !item.HasValues;
-// }
-
-// private JToken? GetToken(string key)
-// {
-// if (key == null)
-// return _token;
-
-// if (_cache.TryGetValue(key, out var token))
-// return token;
-
-// var splitTokens = key.Split(new char[] { ':' });
-// var accessToken = _token;
-// foreach (var splitToken in splitTokens)
-// {
-// if (accessToken.Type == JTokenType.Array)
-// return null;
-
-// accessToken = accessToken[splitToken];
-
-// if (accessToken == null)
-// break;
-// }
-
-// _cache.Add(key, accessToken);
-// return accessToken;
-// }
-// }
-//}
diff --git a/CryptoExchange.Net/Converters/SocketConverter.cs b/CryptoExchange.Net/Converters/SocketConverter.cs
deleted file mode 100644
index 3e45655..0000000
--- a/CryptoExchange.Net/Converters/SocketConverter.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-//using CryptoExchange.Net.Interfaces;
-//using CryptoExchange.Net.Objects;
-//using CryptoExchange.Net.Objects.Sockets;
-//using CryptoExchange.Net.Sockets;
-//using Newtonsoft.Json;
-//using Newtonsoft.Json.Linq;
-//using System;
-//using System.Collections.Generic;
-//using System.IO;
-//using System.Linq;
-//using System.Net.WebSockets;
-//using System.Text;
-
-//namespace CryptoExchange.Net.Converters
-//{
-// ///
-// /// Socket message converter
-// ///
-// public abstract class SocketConverter
-// {
-
-// public abstract MessageInterpreterPipeline InterpreterPipeline { get; }
-
-// ///
-// public BaseParsedMessage? ReadJson(WebSocketMessageType websocketMessageType, Stream stream, SocketListenerManager listenerManager, bool outputOriginalData)
-// {
-// // Start reading the data
-// // Once we reach the properties that identify the message we save those in a dict
-// // Once all id properties have been read callback to see what the deserialization type should be
-// // Deserialize to the correct type
-
-// if (InterpreterPipeline.PreProcessCallback != null)
-// stream = InterpreterPipeline.PreProcessCallback(websocketMessageType, stream);
-
-// var accessor = new JTokenAccessor(stream);
-// if (accessor == null)
-// return null;
-
-// var streamIdentity = InterpreterPipeline.GetStreamIdentifier(accessor);
-// if (streamIdentity == null)
-// return null;
-
-// var typeIdentity = InterpreterPipeline.GetTypeIdentifier(accessor);
-// var typeResult = listenerManager.IdToType(streamIdentity, typeIdentity);
-// if (typeResult == null)
-// return null;
-
-// var idInstance = accessor.Instantiate(typeResult);
-// if (outputOriginalData)
-// idInstance.OriginalData = idInstance.OriginalData;
-
-// idInstance.StreamIdentifier = streamIdentity;
-// idInstance.TypeIdentifier = typeIdentity;
-// idInstance.Parsed = true;
-// return idInstance;
-// }
-// }
-//}
diff --git a/CryptoExchange.Net/Interfaces/CommonClients/IFuturesClient.cs b/CryptoExchange.Net/Interfaces/CommonClients/IFuturesClient.cs
index af6c214..48c9975 100644
--- a/CryptoExchange.Net/Interfaces/CommonClients/IFuturesClient.cs
+++ b/CryptoExchange.Net/Interfaces/CommonClients/IFuturesClient.cs
@@ -2,7 +2,6 @@
using System.Threading;
using System.Threading.Tasks;
using CryptoExchange.Net.CommonObjects;
-using CryptoExchange.Net.Interfaces.CommonClients;
using CryptoExchange.Net.Objects;
namespace CryptoExchange.Net.Interfaces.CommonClients
diff --git a/CryptoExchange.Net/Interfaces/CommonClients/ISpotClient.cs b/CryptoExchange.Net/Interfaces/CommonClients/ISpotClient.cs
index 601786b..15c2fd1 100644
--- a/CryptoExchange.Net/Interfaces/CommonClients/ISpotClient.cs
+++ b/CryptoExchange.Net/Interfaces/CommonClients/ISpotClient.cs
@@ -1,5 +1,4 @@
using CryptoExchange.Net.CommonObjects;
-using CryptoExchange.Net.Interfaces.CommonClients;
using CryptoExchange.Net.Objects;
using System.Threading;
using System.Threading.Tasks;
diff --git a/CryptoExchange.Net/Interfaces/IMessageProcessor.cs b/CryptoExchange.Net/Interfaces/IMessageProcessor.cs
index 299d16e..39e13e2 100644
--- a/CryptoExchange.Net/Interfaces/IMessageProcessor.cs
+++ b/CryptoExchange.Net/Interfaces/IMessageProcessor.cs
@@ -3,7 +3,6 @@ using CryptoExchange.Net.Objects.Sockets;
using CryptoExchange.Net.Sockets;
using System;
using System.Collections.Generic;
-using System.Text;
using System.Threading.Tasks;
namespace CryptoExchange.Net.Interfaces
diff --git a/CryptoExchange.Net/Interfaces/IRequestFactory.cs b/CryptoExchange.Net/Interfaces/IRequestFactory.cs
index bcd1fa9..66ff906 100644
--- a/CryptoExchange.Net/Interfaces/IRequestFactory.cs
+++ b/CryptoExchange.Net/Interfaces/IRequestFactory.cs
@@ -1,5 +1,4 @@
using CryptoExchange.Net.Objects;
-using CryptoExchange.Net.Objects.Options;
using System;
using System.Net.Http;
diff --git a/CryptoExchange.Net/Interfaces/IRestApiClient.cs b/CryptoExchange.Net/Interfaces/IRestApiClient.cs
index b82b494..9d96fbd 100644
--- a/CryptoExchange.Net/Interfaces/IRestApiClient.cs
+++ b/CryptoExchange.Net/Interfaces/IRestApiClient.cs
@@ -1,7 +1,4 @@
-using CryptoExchange.Net.Objects;
-using System;
-
-namespace CryptoExchange.Net.Interfaces
+namespace CryptoExchange.Net.Interfaces
{
///
/// Base rest API client
diff --git a/CryptoExchange.Net/Interfaces/IRestClient.cs b/CryptoExchange.Net/Interfaces/IRestClient.cs
index 704a4e5..b2510e2 100644
--- a/CryptoExchange.Net/Interfaces/IRestClient.cs
+++ b/CryptoExchange.Net/Interfaces/IRestClient.cs
@@ -1,6 +1,4 @@
using System;
-using CryptoExchange.Net.Authentication;
-using CryptoExchange.Net.Objects;
using CryptoExchange.Net.Objects.Options;
namespace CryptoExchange.Net.Interfaces
diff --git a/CryptoExchange.Net/Interfaces/ISocketApiClient.cs b/CryptoExchange.Net/Interfaces/ISocketApiClient.cs
index 8623514..f567d67 100644
--- a/CryptoExchange.Net/Interfaces/ISocketApiClient.cs
+++ b/CryptoExchange.Net/Interfaces/ISocketApiClient.cs
@@ -1,7 +1,5 @@
-using CryptoExchange.Net.Objects;
-using CryptoExchange.Net.Objects.Options;
+using CryptoExchange.Net.Objects.Options;
using CryptoExchange.Net.Objects.Sockets;
-using System;
using System.Threading.Tasks;
namespace CryptoExchange.Net.Interfaces
diff --git a/CryptoExchange.Net/Interfaces/ISocketClient.cs b/CryptoExchange.Net/Interfaces/ISocketClient.cs
index 108f7ed..514760b 100644
--- a/CryptoExchange.Net/Interfaces/ISocketClient.cs
+++ b/CryptoExchange.Net/Interfaces/ISocketClient.cs
@@ -1,7 +1,5 @@
using System;
using System.Threading.Tasks;
-using CryptoExchange.Net.Authentication;
-using CryptoExchange.Net.Objects;
using CryptoExchange.Net.Objects.Options;
using CryptoExchange.Net.Objects.Sockets;
diff --git a/CryptoExchange.Net/Interfaces/IWebsocket.cs b/CryptoExchange.Net/Interfaces/IWebsocket.cs
index 6090a79..7dc9736 100644
--- a/CryptoExchange.Net/Interfaces/IWebsocket.cs
+++ b/CryptoExchange.Net/Interfaces/IWebsocket.cs
@@ -1,10 +1,6 @@
-using CryptoExchange.Net.Objects;
-using CryptoExchange.Net.Sockets;
-using System;
+using System;
using System.IO;
using System.Net.WebSockets;
-using System.Security.Authentication;
-using System.Text;
using System.Threading.Tasks;
namespace CryptoExchange.Net.Interfaces
diff --git a/CryptoExchange.Net/Objects/Sockets/ParsedMessage.cs b/CryptoExchange.Net/Objects/Sockets/ParsedMessage.cs
deleted file mode 100644
index 97f802a..0000000
--- a/CryptoExchange.Net/Objects/Sockets/ParsedMessage.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-//namespace CryptoExchange.Net.Objects.Sockets
-//{
-// ///
-// /// Parsed message object
-// ///
-// public abstract class BaseParsedMessage
-// {
-// ///
-// /// Stream identifier string
-// ///
-// public string StreamIdentifier { get; set; } = null!;
-// ///
-// /// Type identifier string
-// ///
-// public string TypeIdentifier { get; set; } = null!;
-// ///
-// /// Original data if the option is enabled
-// ///
-// public string? OriginalData { get; set; }
-// ///
-// /// If parsed
-// ///
-// public bool Parsed { get; set; }
-
-// ///
-// /// Get the data object
-// ///
-// ///
-// public abstract object Data { get; }
-// }
-
-// ///
-// /// Parsed message object
-// ///
-// /// Data type
-// public class ParsedMessage : BaseParsedMessage
-// {
-// ///
-// /// Parsed data object
-// ///
-// public override object? Data { get; }
-
-// public T? TypedData => (T)Data;
-
-// ///
-// /// ctor
-// ///
-// ///
-// public ParsedMessage(T? data)
-// {
-// Data = data;
-// }
-// }
-//}
diff --git a/CryptoExchange.Net/Objects/Sockets/StreamMessageParseCallback.cs b/CryptoExchange.Net/Objects/Sockets/StreamMessageParseCallback.cs
deleted file mode 100644
index f0f1c02..0000000
--- a/CryptoExchange.Net/Objects/Sockets/StreamMessageParseCallback.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-//using CryptoExchange.Net.Converters;
-//using CryptoExchange.Net.Interfaces;
-//using CryptoExchange.Net.Sockets;
-//using Newtonsoft.Json.Linq;
-//using System;
-//using System.Collections.Generic;
-//using System.IO;
-//using System.Net.WebSockets;
-//using System.Text;
-
-//namespace CryptoExchange.Net.Objects.Sockets
-//{
-// public class MessageInterpreterPipeline
-// {
-// public Func? PreProcessCallback { get; set; }
-// public Func GetStreamIdentifier { get; set; }
-// public Func GetTypeIdentifier { get; set; } = (accessor, streamId) => streamId;
-// }
-//}
diff --git a/CryptoExchange.Net/Objects/Sockets/UpdateSubscription.cs b/CryptoExchange.Net/Objects/Sockets/UpdateSubscription.cs
index 31673a6..9f43e94 100644
--- a/CryptoExchange.Net/Objects/Sockets/UpdateSubscription.cs
+++ b/CryptoExchange.Net/Objects/Sockets/UpdateSubscription.cs
@@ -1,5 +1,4 @@
-using CryptoExchange.Net.Objects;
-using CryptoExchange.Net.Sockets;
+using CryptoExchange.Net.Sockets;
using System;
using System.Threading.Tasks;
diff --git a/CryptoExchange.Net/Objects/Sockets/WebSocketParameters.cs b/CryptoExchange.Net/Objects/Sockets/WebSocketParameters.cs
index c4dde81..4d05b6e 100644
--- a/CryptoExchange.Net/Objects/Sockets/WebSocketParameters.cs
+++ b/CryptoExchange.Net/Objects/Sockets/WebSocketParameters.cs
@@ -1,10 +1,7 @@
using CryptoExchange.Net.Interfaces;
-using CryptoExchange.Net.Objects;
using System;
using System.Collections.Generic;
-using System.IO;
using System.Text;
-using System.Threading.Tasks;
namespace CryptoExchange.Net.Objects.Sockets
{
@@ -58,21 +55,6 @@ namespace CryptoExchange.Net.Objects.Sockets
///
public IEnumerable? RateLimiters { get; set; }
- ///
- /// Origin header value to send in the connection handshake
- ///
- public string? Origin { get; set; }
-
- ///
- /// Delegate used for manipulating data received from socket connections before it is processed by listeners
- ///
- public Func? Interceptor { get; set; }
-
- ///
- /// Delegate used for processing string data received from socket connections before it is processed by handlers
- ///
- public Func? DataInterpreterString { get; set; }
-
///
/// Encoding for sending/receiving data
///
diff --git a/CryptoExchange.Net/Objects/TradeEnvironment.cs b/CryptoExchange.Net/Objects/TradeEnvironment.cs
index 7ca760c..70dcbae 100644
--- a/CryptoExchange.Net/Objects/TradeEnvironment.cs
+++ b/CryptoExchange.Net/Objects/TradeEnvironment.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace CryptoExchange.Net.Objects
+namespace CryptoExchange.Net.Objects
{
///
/// Trade environment names
diff --git a/CryptoExchange.Net/ParsingUtils.cs b/CryptoExchange.Net/ParsingUtils.cs
deleted file mode 100644
index e4c8953..0000000
--- a/CryptoExchange.Net/ParsingUtils.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using System.IO;
-using System.Text;
-
-namespace CryptoExchange.Net
-{
- ///
- /// Parsing utility methods
- ///
- public static class ParsingUtils
- {
- ///
- /// Read the stream as string
- ///
- ///
- ///
- public static string GetString(Stream stream)
- {
- using var reader = new StreamReader(stream, Encoding.UTF8, false, (int)stream.Length, true);
- return reader.ReadToEnd();
- }
-
- ///
- /// Read the stream and parse to JToken
- ///
- ///
- ///
- public static JToken GetJToken(Stream x)
- {
- using var sr = new StreamReader(x, Encoding.UTF8, false, (int)x.Length, true);
- using var jsonTextReader = new JsonTextReader(sr);
- return JToken.Load(jsonTextReader);
- }
- }
-}
diff --git a/CryptoExchange.Net/Requests/RequestFactory.cs b/CryptoExchange.Net/Requests/RequestFactory.cs
index 63d897c..b909870 100644
--- a/CryptoExchange.Net/Requests/RequestFactory.cs
+++ b/CryptoExchange.Net/Requests/RequestFactory.cs
@@ -1,10 +1,8 @@
using System;
using System.Net;
using System.Net.Http;
-using System.Runtime.InteropServices;
using CryptoExchange.Net.Interfaces;
using CryptoExchange.Net.Objects;
-using CryptoExchange.Net.Objects.Options;
namespace CryptoExchange.Net.Requests
{
diff --git a/CryptoExchange.Net/Sockets/CryptoExchangeWebSocketClient.cs b/CryptoExchange.Net/Sockets/CryptoExchangeWebSocketClient.cs
index 325ebe1..6053a8c 100644
--- a/CryptoExchange.Net/Sockets/CryptoExchangeWebSocketClient.cs
+++ b/CryptoExchange.Net/Sockets/CryptoExchangeWebSocketClient.cs
@@ -591,9 +591,6 @@ namespace CryptoExchange.Net.Sockets
LastActionTime = DateTime.UtcNow;
stream.Position = 0;
- if (Parameters.Interceptor != null)
- stream = Parameters.Interceptor.Invoke(stream);
-
if (OnStreamMessage != null)
await OnStreamMessage.Invoke(type, stream).ConfigureAwait(false);
}
diff --git a/CryptoExchange.Net/Sockets/MessageParsing/JsonNetMessageData.cs b/CryptoExchange.Net/Sockets/MessageParsing/JsonNetMessageData.cs
index e2af385..c9da8e9 100644
--- a/CryptoExchange.Net/Sockets/MessageParsing/JsonNetMessageData.cs
+++ b/CryptoExchange.Net/Sockets/MessageParsing/JsonNetMessageData.cs
@@ -3,7 +3,6 @@ using CryptoExchange.Net.Sockets.MessageParsing.Interfaces;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
-using System.Collections.Generic;
using System.IO;
using System.Text;
diff --git a/CryptoExchange.Net/Sockets/SocketConnection.cs b/CryptoExchange.Net/Sockets/SocketConnection.cs
index 25ffa24..660e377 100644
--- a/CryptoExchange.Net/Sockets/SocketConnection.cs
+++ b/CryptoExchange.Net/Sockets/SocketConnection.cs
@@ -10,8 +10,6 @@ using System.Net.WebSockets;
using System.IO;
using CryptoExchange.Net.Objects.Sockets;
using System.Text;
-using System.Diagnostics.CodeAnalysis;
-using CryptoExchange.Net.Converters;
using System.Diagnostics;
using CryptoExchange.Net.Sockets.MessageParsing;
@@ -351,6 +349,8 @@ namespace CryptoExchange.Net.Sockets
///
protected virtual async Task HandleStreamMessage(WebSocketMessageType type, Stream stream)
{
+ var sw = Stopwatch.StartNew();
+
// 1. Decrypt/Preprocess if necessary
stream = ApiClient.PreprocessStreamMessage(type, stream);
@@ -381,6 +381,7 @@ namespace CryptoExchange.Net.Sockets
}
_logger.LogTrace("Socket {SocketId} {Count} processors matched to message with listener identifier {ListenerId}", SocketId, processors.Count, listenId);
+ var totalUserTime = 0;
foreach (var processor in processors)
{
// 4. Determine the type to deserialize to
@@ -406,7 +407,9 @@ namespace CryptoExchange.Net.Sockets
// 6. Hand of the message to the subscription
try
{
+ var innerSw = Stopwatch.StartNew();
await processor.HandleAsync(this, new DataEvent