public UE_EUTRA_Capability Decode(BitArrayInputStream input)
            {
                UE_EUTRA_Capability capability = new UE_EUTRA_Capability();

                capability.InitDefaults();
                BitMaskStream stream = new BitMaskStream(input, 2);
                int           nBits  = (input.ReadBit() == 0) ? 3 : 3;

                capability.accessStratumRelease = (AccessStratumRelease)input.ReadBits(nBits);
                capability.ue_Category          = input.ReadBits(3) + 1;
                capability.pdcp_Parameters      = PDCP_Parameters.PerDecoder.Instance.Decode(input);
                capability.phyLayerParameters   = PhyLayerParameters.PerDecoder.Instance.Decode(input);
                capability.rf_Parameters        = RF_Parameters.PerDecoder.Instance.Decode(input);
                capability.measParameters       = MeasParameters.PerDecoder.Instance.Decode(input);
                if (stream.Read())
                {
                    capability.featureGroupIndicators = input.ReadBitString(0x20);
                }
                capability.interRAT_Parameters = interRAT_Parameters_Type.PerDecoder.Instance.Decode(input);
                if (stream.Read())
                {
                    capability.nonCriticalExtension = UE_EUTRA_Capability_v920_IEs.PerDecoder.Instance.Decode(input);
                }
                return(capability);
            }
Beispiel #2
0
 public UE_EUTRA_Capability Decode(BitArrayInputStream input)
 {
     UE_EUTRA_Capability capability = new UE_EUTRA_Capability();
     capability.InitDefaults();
     BitMaskStream stream = new BitMaskStream(input, 2);
     int nBits = (input.readBit() == 0) ? 3 : 3;
     capability.accessStratumRelease = (AccessStratumRelease)input.readBits(nBits);
     capability.ue_Category = input.readBits(3) + 1;
     capability.pdcp_Parameters = PDCP_Parameters.PerDecoder.Instance.Decode(input);
     capability.phyLayerParameters = PhyLayerParameters.PerDecoder.Instance.Decode(input);
     capability.rf_Parameters = RF_Parameters.PerDecoder.Instance.Decode(input);
     capability.measParameters = MeasParameters.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         capability.featureGroupIndicators = input.readBitString(0x20);
     }
     capability.interRAT_Parameters = interRAT_Parameters_Type.PerDecoder.Instance.Decode(input);
     if (stream.Read())
     {
         capability.nonCriticalExtension = UE_EUTRA_Capability_v920_IEs.PerDecoder.Instance.Decode(input);
     }
     return capability;
 }