public override byte[] GetEncoding() { try { MemoryStream outputStream = new MemoryStream(); BinaryWriter binaryWriter = new BinaryWriter(new BufferedStream(outputStream)); MessagesEncodingUtil.WriteMessageType(binaryWriter, this); MessagesEncodingUtil.WriteByte(binaryWriter, (byte)ConfirmationMessageType); binaryWriter.Flush(); byte[] buffer = outputStream.ToArray(); if (buffer.Length < EncodingConstants.MAX_MESSAGE_LENGTH) { return(outputStream.ToArray()); } else { throw new BinaryEncodingException(); } } catch (Exception) { throw new BinaryEncodingException("Decode"); } }
public ConnectionMessage(byte[] encoding) : this() { try { MemoryStream input = new MemoryStream(encoding, 0, encoding.Length, false); BinaryReader binaryReader = new BinaryReader(new BufferedStream(input)); MessagesEncodingUtil.ReadByte(binaryReader); } catch (Exception) { throw new BinaryEncodingException("Encode"); } }
public ByteArrayMessage(byte[] encoding) : this() { try { MemoryStream input = new MemoryStream(encoding, 0, encoding.Length, false); BinaryReader binaryReader = new BinaryReader(new BufferedStream(input)); MessagesEncodingUtil.ReadByte(binaryReader); int binaryArrayLength = MessagesEncodingUtil.ReadInt(binaryReader); ByteArray = MessagesEncodingUtil.ReadByteArray(binaryReader, binaryArrayLength); } catch (Exception) { throw new BinaryEncodingException("Encode"); } }
public override byte[] GetEncoding() { try { MemoryStream outputStream = new MemoryStream(); BinaryWriter binaryWriter = new BinaryWriter(new BufferedStream(outputStream)); MessagesEncodingUtil.WriteMessageType(binaryWriter, this); if (PeerAddress.PrivateEndPoint == null) { MessagesEncodingUtil.WriteString(binaryWriter, "null"); } else { MessagesEncodingUtil.WriteString(binaryWriter, PeerAddress.PrivateEndPoint.ToString()); } if (PeerAddress.PublicEndPoint == null) { MessagesEncodingUtil.WriteString(binaryWriter, "null"); } else { MessagesEncodingUtil.WriteString(binaryWriter, PeerAddress.PublicEndPoint.ToString()); } binaryWriter.Flush(); byte[] buffer = outputStream.ToArray(); if (buffer.Length <= EncodingConstants.MAX_MESSAGE_LENGTH) { return(outputStream.ToArray()); } else { throw new BinaryEncodingException(); } } catch (Exception) { throw new BinaryEncodingException("Decode"); } }
public PeerAddressMessage(byte[] encoding) : this() { try { MemoryStream memoryStream = new MemoryStream(encoding, 0, encoding.Length, false); BinaryReader binaryReader = new BinaryReader(new BufferedStream(memoryStream)); TypeOfMessage = (MessageType)MessagesEncodingUtil.ReadByte(binaryReader); IPEndPoint localEndPoint = ParseIpEndPoint(MessagesEncodingUtil.ReadString(binaryReader)); IPEndPoint publicEndPoint = ParseIpEndPoint(MessagesEncodingUtil.ReadString(binaryReader)); PeerAddress = new PeerAddress(localEndPoint, publicEndPoint); } catch (Exception) { throw new BinaryEncodingException("Encode"); } }