Beispiel #1
0
            public MobilityControlInfo Decode(BitArrayInputStream input)
            {
                BitMaskStream       stream2;
                MobilityControlInfo info = new MobilityControlInfo();

                info.InitDefaults();
                bool          flag   = input.ReadBit() != 0;
                BitMaskStream stream = new BitMaskStream(input, 4);

                info.targetPhysCellId = input.ReadBits(9);
                if (stream.Read())
                {
                    info.carrierFreq = CarrierFreqEUTRA.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    info.carrierBandwidth = CarrierBandwidthEUTRA.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    info.additionalSpectrumEmission = input.ReadBits(5) + 1;
                }
                int nBits = 3;

                info.t304                      = (t304_Enum)input.ReadBits(nBits);
                info.newUE_Identity            = input.ReadBitString(0x10);
                info.radioResourceConfigCommon = RadioResourceConfigCommon.PerDecoder.Instance.Decode(input);
                if (stream.Read())
                {
                    info.rach_ConfigDedicated = RACH_ConfigDedicated.PerDecoder.Instance.Decode(input);
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        info.carrierFreq_v9e0 = CarrierFreqEUTRA_v9e0.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        nBits = 1;
                        info.drb_ContinueROHC_r11 = (drb_ContinueROHC_r11_Enum)input.ReadBits(nBits);
                    }
                }
                return(info);
            }
Beispiel #2
0
 public MobilityControlInfo Decode(BitArrayInputStream input)
 {
     BitMaskStream stream2;
     MobilityControlInfo info = new MobilityControlInfo();
     info.InitDefaults();
     bool flag = input.ReadBit() != 0;
     BitMaskStream stream = new BitMaskStream(input, 4);
     info.targetPhysCellId = input.ReadBits(9);
     if (stream.Read())
     {
         info.carrierFreq = CarrierFreqEUTRA.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         info.carrierBandwidth = CarrierBandwidthEUTRA.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         info.additionalSpectrumEmission = input.ReadBits(5) + 1;
     }
     int nBits = 3;
     info.t304 = (t304_Enum)input.ReadBits(nBits);
     info.newUE_Identity = input.ReadBitString(0x10);
     info.radioResourceConfigCommon = RadioResourceConfigCommon.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         info.rach_ConfigDedicated = RACH_ConfigDedicated.PerDecoder.Instance.Decode(input);
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             info.carrierFreq_v9e0 = CarrierFreqEUTRA_v9e0.PerDecoder.Instance.Decode(input);
         }
     }
     if (flag)
     {
         stream2 = new BitMaskStream(input, 1);
         if (stream2.Read())
         {
             nBits = 1;
             info.drb_ContinueROHC_r11 = (drb_ContinueROHC_r11_Enum)input.ReadBits(nBits);
         }
     }
     return info;
 }