/// <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); } }
/// <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); }
/// <summary> /// Serialize the message into its binary representation /// </summary> /// <param name="message"></param> /// <returns></returns> public byte[] SerializeMessage(BinaryMessage message) { return(message.Payload); }