Esempio n. 1
0
        internal static byte[] AssembleByteData(IMessage message)
        {
            if(!DeliveryRegistry.IsMessageRegisterd(message)) throw new Exception("Message conversion error: Not registered");

            //Create new BinaryWriter
            BinaryWriter binWriter = new BinaryWriter(new MemoryStream());

            //Write header to byte steam
            MessageHeader.ToBytes(binWriter, DeliveryRegistry.GetMessageDiscriminant(message));

            //Convert message to byte steam
            message.WritePayload(binWriter);

            //Convert byte stream into byte array
            byte[] byteData = ((MemoryStream)binWriter.BaseStream).ToArray();

            //Dispose unused stuff
            binWriter.Dispose();

            //Return byte stream
            return byteData;
        }