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");
}
}