public void TryGetState_WithInvalidPackageLength() { var state = new byte[] { 1, 2, 4, 8, 16, 32, 64, 128 }; var package = LightPiProtocol.CreatePackage(state); // Destroy the length of the package. Array.Resize(ref package, 9); byte[] returnState; var hasSucceeded = LightPiProtocol.TryParsePackage(package, out returnState); Assert.IsFalse(hasSucceeded); }
public void TryGetState_WithInvalidPackagePrefix() { var state = new byte[] { 1, 2, 4, 8, 16, 32, 64, 128 }; var package = LightPiProtocol.CreatePackage(state); // Destroy the prefix of the package. package[0] = 32; byte[] returnState; var hasSucceeded = LightPiProtocol.TryParsePackage(package, out returnState); Assert.IsFalse(hasSucceeded); }
public void TryGetState() { var state = new byte[] { 1, 2, 4, 8, 16, 32, 64, 128 }; var package = LightPiProtocol.CreatePackage(state); byte[] returnState; var hasSucceeded = LightPiProtocol.TryParsePackage(package, out returnState); Assert.IsTrue(hasSucceeded); Assert.AreEqual(state.Length, returnState.Length); for (var i = 0; i < state.Length; i++) { Assert.AreEqual(state[i], returnState[i]); } }
private void ProcessMessage(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs message) { var package = ReadPackageFromMessage(message); if (package == null) { return; } byte[] state; if (!LightPiProtocol.TryParsePackage(package, out state)) { return; } _engine.EnqueueState(state); }
private void ProcessIncomingData() { while (true) { try { IPEndPoint remoteIPEndpoint = null; byte[] package = _datagramSocket.Receive(ref remoteIPEndpoint); byte[] state; if (!LightPiProtocol.TryParsePackage(package, out state)) { continue; } _callback(state); } catch (Exception exception) { Debug.WriteLine(exception.ToString()); } } }