private static void OnLogItemReceived(object item) { if (LogItemReceived != null) { LogItemReceived.BeginInvoke(item, null, null); } }
/// <summary> /// handle a new incoming message /// </summary> /// <param name="message">bytes of the message</param> protected void HandleMessage(byte[] message) { try { var logItems = MessageSerializer.Unserialize <ILogItem>(message); foreach (var logItem in logItems) { if (IsDebugLogEnabled) { DebugLog.Debug(LogCategory.Network)?. T($"log item received: {logItem.Text}"); } LogItemReceived?.Invoke(this, logItem); } } catch (InvalidCastException) { var coms = MessageSerializer.Unserialize <ICommandMessage>(message); foreach (var com in coms) { if (IsDebugLogEnabled) { DebugLog.Debug(LogCategory.Network)?. T($"command reply received: {com}"); } HandleCommand(com); } } catch (Exception) { // rethrow throw; } }