public static List <CableCloudMessage> Generate(int portNumber, int vpi, int vci, string message) { var atmCells = AtmCell.Generate(vpi, vci, message); var cableCloudMessages = new List <CableCloudMessage>(); while (atmCells.Count >= CableCloudMessage.MaxAtmCellsNumber) { var atmCellsPart = atmCells.GetRange(0, CableCloudMessage.MaxAtmCellsNumber); atmCells.RemoveRange(0, CableCloudMessage.MaxAtmCellsNumber); cableCloudMessages.Add(new CableCloudMessage(portNumber, atmCellsPart)); } cableCloudMessages.Add(new CableCloudMessage(portNumber, atmCells)); return(cableCloudMessages); }
public void SerializeCableCloudMessageTest() { var message = new CableCloudMessage(1, AtmCell.Generate(1, 1, "TEST")); var data = BinarySerializer.Serialize(message); var obj = BinarySerializer.Deserialize(data); var msg = new CableCloudMessage(1, AtmCell.Generate(1, 1, "TEST")); Debug.WriteLine(msg.PortNumber); if (obj is CableCloudMessage) { msg = (CableCloudMessage)obj; } Assert.AreEqual(message.PortNumber, msg.PortNumber); Debug.WriteLine(msg.PortNumber); }
public void StreamSerializeCableCloudMessageTest() { var tcpListener = new TcpListener(IPAddress.Loopback, 10000); tcpListener.Start(); var acceptTask = AcceptTask(tcpListener); var client1 = new TcpClient(); client1.Connect(IPAddress.Loopback, 10000); var client2 = acceptTask.Result; var expected = new CableCloudMessage(1, AtmCell.Generate(1, 1, "TEST")); BinarySerializer.SerializeToStream(expected, client1.GetStream()); var actual = (CableCloudMessage)BinarySerializer.DeserializeFromStream(client2.GetStream()); Assert.AreEqual(expected.PortNumber, actual.PortNumber); }