Apache.NMS.ActiveMQ.OpenWire.V6.ConsumerInfoMarshaller.LooseUnmarshal C# (CSharp) Method

LooseUnmarshal() public method

public LooseUnmarshal ( OpenWireFormat wireFormat, Object o, BinaryReader dataIn ) : void
wireFormat OpenWireFormat
o Object
dataIn System.IO.BinaryReader
return void
        public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn)
        {
            base.LooseUnmarshal(wireFormat, o, dataIn);

            ConsumerInfo info = (ConsumerInfo)o;
            info.ConsumerId = (ConsumerId) LooseUnmarshalCachedObject(wireFormat, dataIn);
            info.Browser = dataIn.ReadBoolean();
            info.Destination = (ActiveMQDestination) LooseUnmarshalCachedObject(wireFormat, dataIn);
            info.PrefetchSize = dataIn.ReadInt32();
            info.MaximumPendingMessageLimit = dataIn.ReadInt32();
            info.DispatchAsync = dataIn.ReadBoolean();
            info.Selector = LooseUnmarshalString(dataIn);
            info.SubscriptionName = LooseUnmarshalString(dataIn);
            info.NoLocal = dataIn.ReadBoolean();
            info.Exclusive = dataIn.ReadBoolean();
            info.Retroactive = dataIn.ReadBoolean();
            info.Priority = dataIn.ReadByte();

            if (dataIn.ReadBoolean()) {
                short size = dataIn.ReadInt16();
                BrokerId[] value = new BrokerId[size];
                for( int i=0; i < size; i++ ) {
                    value[i] = (BrokerId) LooseUnmarshalNestedObject(wireFormat,dataIn);
                }
                info.BrokerPath = value;
            }
            else {
                info.BrokerPath = null;
            }
            info.AdditionalPredicate = (BooleanExpression) LooseUnmarshalNestedObject(wireFormat, dataIn);
            info.NetworkSubscription = dataIn.ReadBoolean();
            info.OptimizedAcknowledge = dataIn.ReadBoolean();
            info.NoRangeAcks = dataIn.ReadBoolean();

            if (dataIn.ReadBoolean()) {
                short size = dataIn.ReadInt16();
                ConsumerId[] value = new ConsumerId[size];
                for( int i=0; i < size; i++ ) {
                    value[i] = (ConsumerId) LooseUnmarshalNestedObject(wireFormat,dataIn);
                }
                info.NetworkConsumerPath = value;
            }
            else {
                info.NetworkConsumerPath = null;
            }
        }