public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut)
{
Message info = (Message)o;
base.LooseMarshal(wireFormat, o, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.ProducerId, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.Destination, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.TransactionId, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.OriginalDestination, dataOut);
LooseMarshalNestedObject(wireFormat, (DataStructure)info.MessageId, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.OriginalTransactionId, dataOut);
LooseMarshalString(info.GroupID, dataOut);
dataOut.Write(info.GroupSequence);
LooseMarshalString(info.CorrelationId, dataOut);
dataOut.Write(info.Persistent);
LooseMarshalLong(wireFormat, info.Expiration, dataOut);
dataOut.Write(info.Priority);
LooseMarshalNestedObject(wireFormat, (DataStructure)info.ReplyTo, dataOut);
LooseMarshalLong(wireFormat, info.Timestamp, dataOut);
LooseMarshalString(info.Type, dataOut);
dataOut.Write(info.Content!=null);
if(info.Content!=null) {
dataOut.Write(info.Content.Length);
dataOut.Write(info.Content);
}
dataOut.Write(info.MarshalledProperties!=null);
if(info.MarshalledProperties!=null) {
dataOut.Write(info.MarshalledProperties.Length);
dataOut.Write(info.MarshalledProperties);
}
LooseMarshalNestedObject(wireFormat, (DataStructure)info.DataStructure, dataOut);
LooseMarshalCachedObject(wireFormat, (DataStructure)info.TargetConsumerId, dataOut);
dataOut.Write(info.Compressed);
dataOut.Write(info.RedeliveryCounter);
LooseMarshalObjectArray(wireFormat, info.BrokerPath, dataOut);
LooseMarshalLong(wireFormat, info.Arrival, dataOut);
LooseMarshalString(info.UserID, dataOut);
dataOut.Write(info.RecievedByDFBridge);
dataOut.Write(info.Droppable);
LooseMarshalObjectArray(wireFormat, info.Cluster, dataOut);
LooseMarshalLong(wireFormat, info.BrokerInTime, dataOut);
LooseMarshalLong(wireFormat, info.BrokerOutTime, dataOut);
}