mirror of
https://github.com/JKorf/CryptoExchange.Net
synced 2025-06-26 17:26:24 +00:00
wip
This commit is contained in:
parent
66fb104983
commit
7cc0f8a67d
@ -348,6 +348,7 @@ namespace CryptoExchange.Net.Converters.Protobuf
|
|||||||
{
|
{
|
||||||
_stream?.Dispose();
|
_stream?.Dispose();
|
||||||
_stream = null;
|
_stream = null;
|
||||||
|
_intermediateType = default;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -464,7 +465,7 @@ namespace CryptoExchange.Net.Converters.Protobuf
|
|||||||
{
|
{
|
||||||
// Not a json message
|
// Not a json message
|
||||||
IsValid = false;
|
IsValid = false;
|
||||||
return new CallResult(new DeserializeError("JsonError: " + ex.Message, ex));
|
return new CallResult(new DeserializeError("ProtobufError: " + ex.Message, ex));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -484,6 +485,7 @@ namespace CryptoExchange.Net.Converters.Protobuf
|
|||||||
public override void Clear()
|
public override void Clear()
|
||||||
{
|
{
|
||||||
_bytes = null;
|
_bytes = null;
|
||||||
|
_intermediateType = default;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -15,6 +15,7 @@ namespace CryptoExchange.Net.Logging.Extensions
|
|||||||
private static readonly Action<ILogger, int, string?, Exception?> _webSocketError;
|
private static readonly Action<ILogger, int, string?, Exception?> _webSocketError;
|
||||||
private static readonly Action<ILogger, int, int, Exception?> _messageSentNotPending;
|
private static readonly Action<ILogger, int, int, Exception?> _messageSentNotPending;
|
||||||
private static readonly Action<ILogger, int, string, Exception?> _receivedData;
|
private static readonly Action<ILogger, int, string, Exception?> _receivedData;
|
||||||
|
private static readonly Action<ILogger, int, string, Exception?> _failedToParse;
|
||||||
private static readonly Action<ILogger, int, string, Exception?> _failedToEvaluateMessage;
|
private static readonly Action<ILogger, int, string, Exception?> _failedToEvaluateMessage;
|
||||||
private static readonly Action<ILogger, int, Exception?> _errorProcessingMessage;
|
private static readonly Action<ILogger, int, Exception?> _errorProcessingMessage;
|
||||||
private static readonly Action<ILogger, int, int, string, Exception?> _processorMatched;
|
private static readonly Action<ILogger, int, int, string, Exception?> _processorMatched;
|
||||||
@ -189,6 +190,11 @@ namespace CryptoExchange.Net.Logging.Extensions
|
|||||||
LogLevel.Warning,
|
LogLevel.Warning,
|
||||||
new EventId(2029, "ReceivedMessageNotMatchedToAnyListener"),
|
new EventId(2029, "ReceivedMessageNotMatchedToAnyListener"),
|
||||||
"[Sckt {SocketId}] received message not matched to any listener. ListenId: {ListenId}, current listeners: {ListenIds}");
|
"[Sckt {SocketId}] received message not matched to any listener. ListenId: {ListenId}, current listeners: {ListenIds}");
|
||||||
|
|
||||||
|
_failedToParse = LoggerMessage.Define<int, string>(
|
||||||
|
LogLevel.Warning,
|
||||||
|
new EventId(2030, "FailedToParse"),
|
||||||
|
"[Sckt {SocketId}] failed to parse data: {Error}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void ActivityPaused(this ILogger logger, int socketId, bool paused)
|
public static void ActivityPaused(this ILogger logger, int socketId, bool paused)
|
||||||
@ -230,6 +236,12 @@ namespace CryptoExchange.Net.Logging.Extensions
|
|||||||
{
|
{
|
||||||
_receivedData(logger, socketId, originalData, null);
|
_receivedData(logger, socketId, originalData, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void FailedToParse(this ILogger logger, int socketId, string error)
|
||||||
|
{
|
||||||
|
_failedToParse(logger, socketId, error, null);
|
||||||
|
}
|
||||||
|
|
||||||
public static void FailedToEvaluateMessage(this ILogger logger, int socketId, string originalData)
|
public static void FailedToEvaluateMessage(this ILogger logger, int socketId, string originalData)
|
||||||
{
|
{
|
||||||
_failedToEvaluateMessage(logger, socketId, originalData, null);
|
_failedToEvaluateMessage(logger, socketId, originalData, null);
|
||||||
|
@ -465,7 +465,7 @@ namespace CryptoExchange.Net.Sockets
|
|||||||
else
|
else
|
||||||
accessor = _byteMessageAccessor ??= ApiClient.CreateAccessor(type);
|
accessor = _byteMessageAccessor ??= ApiClient.CreateAccessor(type);
|
||||||
|
|
||||||
accessor.Read(data);
|
var result = accessor.Read(data);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
bool outputOriginalData = ApiClient.ApiOptions.OutputOriginalData ?? ApiClient.ClientOptions.OutputOriginalData;
|
bool outputOriginalData = ApiClient.ApiOptions.OutputOriginalData ?? ApiClient.ClientOptions.OutputOriginalData;
|
||||||
@ -475,6 +475,12 @@ namespace CryptoExchange.Net.Sockets
|
|||||||
_logger.ReceivedData(SocketId, originalData);
|
_logger.ReceivedData(SocketId, originalData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!accessor.IsValid)
|
||||||
|
{
|
||||||
|
_logger.FailedToParse(SocketId, result.Error!.Message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 3. Determine the identifying properties of this message
|
// 3. Determine the identifying properties of this message
|
||||||
var listenId = ApiClient.GetListenerIdentifier(accessor);
|
var listenId = ApiClient.GetListenerIdentifier(accessor);
|
||||||
if (listenId == null)
|
if (listenId == null)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user