private bool SubscriptionHandlerV2(SocketSubscription subscription, JToken data) { var v2Sub = (string)data["op"] == "sub"; if (!v2Sub) { return(false); } var subResponse = Deserialize <HuobiSocketAuthResponse>(data, false); if (!subResponse.Success) { log.Write(LogVerbosity.Warning, "Subscription failed: " + subResponse.Error); subscription.SetEventByName(SubscriptionEvent, false, subResponse.Error); return(true); } if (!subResponse.Data.IsSuccessful) { log.Write(LogVerbosity.Warning, "Subscription failed: " + subResponse.Data.ErrorMessage); subscription.SetEventByName(SubscriptionEvent, false, new ServerError(subResponse.Data.ErrorCode, subResponse.Data.ErrorMessage)); return(true); } log.Write(LogVerbosity.Debug, "Subscription completed"); subscription.SetEventByName(SubscriptionEvent, true, null); return(true); }
private bool SubscriptionHandlerV1(SocketSubscription subscription, JToken data) { var v1Sub = data["subbed"] != null; var v1Error = data["status"] != null && (string)data["status"] == "error"; if (v1Sub || v1Error) { var subResponse = Deserialize <HuobiSubscribeResponse>(data, false); if (!subResponse.Success) { log.Write(LogVerbosity.Warning, "Subscription failed: " + subResponse.Error); subscription.SetEventByName(SubscriptionEvent, false, subResponse.Error); return(true); } if (!subResponse.Data.IsSuccessful) { log.Write(LogVerbosity.Warning, "Subscription failed: " + subResponse.Data.ErrorMessage); subscription.SetEventByName(SubscriptionEvent, false, new ServerError($"{subResponse.Data.ErrorCode}, {subResponse.Data.ErrorMessage}")); return(true); } log.Write(LogVerbosity.Debug, "Subscription completed"); subscription.SetEventByName(SubscriptionEvent, true, null); return(true); } return(false); }
private bool AuthenticationHandler(SocketSubscription subscription, JToken data) { if ((string)data["op"] != "auth") { return(false); } var authResponse = Deserialize <HuobiSocketAuthDataResponse <object> >(data, false); if (!authResponse.Success) { log.Write(LogVerbosity.Warning, "Authorization failed: " + authResponse.Error); subscription.SetEventByName(AuthenticationEvent, false, authResponse.Error); return(true); } if (!authResponse.Data.IsSuccessful) { log.Write(LogVerbosity.Warning, "Authorization failed: " + authResponse.Data.ErrorMessage); subscription.SetEventByName(AuthenticationEvent, false, new ServerError(authResponse.Data.ErrorCode, authResponse.Data.ErrorMessage)); return(true); } log.Write(LogVerbosity.Debug, "Authorization completed"); subscription.SetEventByName(AuthenticationEvent, true, null); return(true); }
private bool DataHandlerV1 <T>(SocketSubscription subscription, JToken data, Action <T> handler) where T : class { var v1Data = (data["data"] != null || data["tick"] != null) && (data["rep"] != null || data["ch"] != null); var v1Error = data["status"] != null && (string)data["status"] == "error"; if (!v1Data && !v1Error) { return(false); } if (!v1Data && subscription.GetWaitingEvent(DataEvent) == null) { return(false); } var desResult = Deserialize <T>(data, false); if (!desResult.Success) { log.Write(LogVerbosity.Warning, $"Failed to deserialize data: {desResult.Error}. Data: {data}"); return(false); } handler(desResult.Data); subscription.SetEventByName(DataEvent, true, null); return(true); }
private bool DataHandlerV2 <T>(SocketSubscription subscription, JToken data, Action <T> handler) where T : class { var v2Data = (string)data["op"] == "notify" || (string)data["op"] == "req"; if (!v2Data) { return(false); } var desResult = Deserialize <T>(data, false); if (!desResult.Success) { log.Write(LogVerbosity.Warning, $"Failed to deserialize data: {desResult.Error}. Data: {data}"); return(false); } handler(desResult.Data); subscription.SetEventByName(DataEvent, true, null); return(true); }