public static void Update() { while (_lockFreeSendMessageQueue.Count > 0) { TransmissionProtocol data; if (_lockFreeSendMessageQueue.TryDequeue(out data)) { UnityEngine.Debug.Log("SendData"); string Recipient; if (PortConnectionLookup.TryGetValue(data.SenderBaseDevice + ":" + data.SenderPort, out Recipient)) { string RecipientBaseDevice = Recipient.Split(':')[0]; string RecipientPort = Recipient.Split(':')[1]; data.RecipientBaseDevice = RecipientBaseDevice; data.RecipientPort = RecipientPort; BaseDevice recipientDevice = BaseDeviceLookup[RecipientBaseDevice]; if (recipientDevice != null) { recipientDevice.TransmissionReceivedEvent(data); } } else { UnityEngine.Debug.LogError("No connection found for " + data.SenderBaseDevice + ":" + data.SenderPort); } } } }