コード例 #1
0
 /// <summary>
 /// Iterate over all hooks and call <see cref="IBinaryMessageHook.MessageSent"/>
 /// </summary>
 public static void MessageSent(this IEnumerable <IBinaryMessageHook> hooks, BinaryMessage message)
 {
     foreach (var hook in hooks)
     {
         hook.MessageSent(message);
     }
 }
コード例 #2
0
        /// <summary>
        /// Serialize the message into its binary representation
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public byte[] SerializeMessage(BinaryMessage message)
        {
            var headerMessage = (BinaryMessage <THeader>)message;

            // Get header and payload
            var header  = headerMessage.Header.ToBytes();
            var payload = headerMessage.Payload;

            // Create full message
            var bytes = new byte[header.Length + payload.Length + FooterSize];

            Buffer.BlockCopy(header, 0, bytes, 0, header.Length);
            Buffer.BlockCopy(headerMessage.Payload, 0, bytes, header.Length, payload.Length);
            Buffer.BlockCopy(Footer, 0, bytes, header.Length + payload.Length, FooterSize);

            return(bytes);
        }
コード例 #3
0
 /// <summary>
 /// Serialize the message into its binary representation
 /// </summary>
 /// <param name="message"></param>
 /// <returns></returns>
 public byte[] SerializeMessage(BinaryMessage message)
 {
     return(message.Payload);
 }