示例#1
0
文件: DRB.cs 项目: xuhaoa/LtePlatform
            public DRB_ToAddMod Decode(BitArrayInputStream input)
            {
                DRB_ToAddMod mod = new DRB_ToAddMod();

                mod.InitDefaults();
                BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 5) : new BitMaskStream(input, 5);

                if (stream.Read())
                {
                    mod.eps_BearerIdentity = input.ReadBits(4);
                }
                mod.drb_Identity = input.ReadBits(5) + 1;
                if (stream.Read())
                {
                    mod.pdcp_Config = PDCP_Config.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    mod.rlc_Config = RLC_Config.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    mod.logicalChannelIdentity = input.ReadBits(3) + 3;
                }
                if (stream.Read())
                {
                    mod.logicalChannelConfig = LogicalChannelConfig.PerDecoder.Instance.Decode(input);
                }
                return(mod);
            }
示例#2
0
文件: DRB.cs 项目: ouyh18/LteTools
 public DRB_ToAddMod Decode(BitArrayInputStream input)
 {
     DRB_ToAddMod mod = new DRB_ToAddMod();
     mod.InitDefaults();
     BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 5) : new BitMaskStream(input, 5);
     if (stream.Read())
     {
         mod.eps_BearerIdentity = input.readBits(4);
     }
     mod.drb_Identity = input.readBits(5) + 1;
     if (stream.Read())
     {
         mod.pdcp_Config = PDCP_Config.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         mod.rlc_Config = RLC_Config.PerDecoder.Instance.Decode(input);
     }
     if (stream.Read())
     {
         mod.logicalChannelIdentity = input.readBits(3) + 3;
     }
     if (stream.Read())
     {
         mod.logicalChannelConfig = LogicalChannelConfig.PerDecoder.Instance.Decode(input);
     }
     return mod;
 }
示例#3
0
            public RadioResourceConfigDedicated Decode(BitArrayInputStream input)
            {
                int           num2;
                BitMaskStream stream2;
                RadioResourceConfigDedicated dedicated = new RadioResourceConfigDedicated();

                dedicated.InitDefaults();
                bool          flag   = input.readBit() != 0;
                BitMaskStream stream = new BitMaskStream(input, 6);

                if (stream.Read())
                {
                    dedicated.srb_ToAddModList = new List <SRB_ToAddMod>();
                    num2 = 1;
                    int num3 = input.readBits(num2) + 1;
                    for (int i = 0; i < num3; i++)
                    {
                        SRB_ToAddMod item = SRB_ToAddMod.PerDecoder.Instance.Decode(input);
                        dedicated.srb_ToAddModList.Add(item);
                    }
                }
                if (stream.Read())
                {
                    dedicated.drb_ToAddModList = new List <DRB_ToAddMod>();
                    num2 = 4;
                    int num5 = input.readBits(num2) + 1;
                    for (int j = 0; j < num5; j++)
                    {
                        DRB_ToAddMod mod2 = DRB_ToAddMod.PerDecoder.Instance.Decode(input);
                        dedicated.drb_ToAddModList.Add(mod2);
                    }
                }
                if (stream.Read())
                {
                    dedicated.drb_ToReleaseList = new List <long>();
                    num2 = 4;
                    int num7 = input.readBits(num2) + 1;
                    for (int k = 0; k < num7; k++)
                    {
                        long num9 = input.readBits(5) + 1;
                        dedicated.drb_ToReleaseList.Add(num9);
                    }
                }
                if (stream.Read())
                {
                    dedicated.mac_MainConfig = mac_MainConfig_Type.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.sps_Config = SPS_Config.PerDecoder.Instance.Decode(input);
                }
                if (stream.Read())
                {
                    dedicated.physicalConfigDedicated = PhysicalConfigDedicated.PerDecoder.Instance.Decode(input);
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        dedicated.rlf_TimersAndConstants_r9 = RLF_TimersAndConstants_r9.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        dedicated.measSubframePatternPCell_r10 = MeasSubframePatternPCell_r10.PerDecoder.Instance.Decode(input);
                    }
                }
                if (flag)
                {
                    stream2 = new BitMaskStream(input, 1);
                    if (stream2.Read())
                    {
                        dedicated.neighCellsCRS_Info_r11 = NeighCellsCRS_Info_r11.PerDecoder.Instance.Decode(input);
                    }
                }
                return(dedicated);
            }