Apache.NMS.ActiveMQ.OpenWire.V4.BrokerInfoMarshaller.TightUnmarshal C# (CSharp) Method

TightUnmarshal() public method

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

            BrokerInfo info = (BrokerInfo)o;
            info.BrokerId = (BrokerId) TightUnmarshalCachedObject(wireFormat, dataIn, bs);
            info.BrokerURL = TightUnmarshalString(dataIn, bs);

            if (bs.ReadBoolean()) {
                short size = dataIn.ReadInt16();
                BrokerInfo[] value = new BrokerInfo[size];
                for( int i=0; i < size; i++ ) {
                    value[i] = (BrokerInfo) TightUnmarshalNestedObject(wireFormat,dataIn, bs);
                }
                info.PeerBrokerInfos = value;
            }
            else {
                info.PeerBrokerInfos = null;
            }
            info.BrokerName = TightUnmarshalString(dataIn, bs);
            info.SlaveBroker = bs.ReadBoolean();
            info.MasterBroker = bs.ReadBoolean();
            info.FaultTolerantConfiguration = bs.ReadBoolean();
            info.DuplexConnection = bs.ReadBoolean();
            info.NetworkConnection = bs.ReadBoolean();
            info.ConnectionId = TightUnmarshalLong(wireFormat, dataIn, bs);
            info.BrokerUploadUrl = TightUnmarshalString(dataIn, bs);
            info.NetworkProperties = TightUnmarshalString(dataIn, bs);
        }