I'm try to add gzip support for message transport. I'm successfully add .net gzipstream for OutgoingMessageInformation used IMessageBuilder<MessagePayload> interface. I need to decompress this message payload. I can decompress message on RhinoQueuesTransport.DeserializeMessages before send to XmlDeserializer check the header if message is compressed then I decompress message.Data.
if (message.Headers["IWasCompressed"] == "true")
{
using (var bigStream = new GZipStream(new MemoryStream(message.Data), CompressionMode.Decompress))
{
var bigStreamOut = new MemoryStream();
bigStream.CopyTo(bigStreamOut);
logger.DebugFormat("message.Data size before compression: {0}", message.Data.Length);
message.Data = bigStreamOut.ToArray();
logger.DebugFormat("message.Data size after compression: {0}", message.Data.Length);
}
}