public void ProcessPackage(EonPacket packet) { _logService.LogInfo("Processing packet"); var row = GetMatchingRow(packet); packet.Port = row.OutPort; _cableCloudConnectionService.Send(packet); _logService.LogInfo("Packet processed"); }
public async void SendPeriodically(EonPacket package, string time, CancellationToken cancellationToken) { while (true) { if (cancellationToken.IsCancellationRequested) { return; } Send(package); var timeDelay = int.Parse(time.TrimEnd('s')); await Task.Delay(timeDelay * 1000); } }
private void ProcessPackage(IRemoteTcpPeer handler, EonPacket package) { var incomingNode = _nodeOfSocket[handler]; var incomingPort = package.Port; var cable = GetCable(incomingNode, incomingPort); _logService.LogInfo($"Received package from {incomingNode}:{incomingPort}, Content: {package.Content}"); if (cable == null) { _logService.LogWarning($"There is no cable, from {incomingNode}:{incomingPort}"); return; } var nextNode = cable.Node2; var nextPort = cable.Port2; if (nextNode == incomingNode) { nextNode = cable.Node1; nextPort = cable.Port1; } if (cable.Status) { package.Port = nextPort; if (!_socketOfNode.ContainsKey(nextNode)) { _logService.LogWarning($"{nextNode} is not connected to CableCloud"); return; } SendPacket(_socketOfNode[nextNode], package); _logService.LogInfo("Sending package from: " + incomingNode + ":" + incomingPort + " to: " + nextNode + ":" + nextPort); } else { _logService.LogInfo("Discarding package (cable disabled) from: " + incomingNode + ":" + incomingPort + " to: " + nextNode + ":" + nextPort); } }
private EonRow GetMatchingRow(EonPacket packet) { return(_eonRows.FirstOrDefault(r => r.FirstSlotIndex == packet.OccupiedSlots.First() && r.LastSlotIndex == packet.OccupiedSlots.Last() /* && * r.IncomingPort == packet.Port*/)); }
public void Send(EonPacket package) { _logService.LogInfo($"Sending {package.Content}"); _client.Post(_objectSerializerService.Serialize(package)); }
public void SendPacket(IRemoteTcpPeer handler, EonPacket package) { handler.Post(_objectSerializerService.Serialize(package)); }