LTE RLC AM 发送

在RLC的发送端维护着一个发送窗口:

(1),send

  If(VT(A)<= receive_sn<=VT(MS))

  {   

     VT(S)=receive_sn+1,

        PDU_WITHOUT_POLL++;

        BYTE_WITHOUT_POLL+= bytes of AMD PDU;

       If( PDU_WITHOUT_POLL>= config_pollPDU) ||

         (BYTE_WITHOUT_POLL >= conmfig_pollByte))

       {

              If (send_buffer & retransmit buffer isempty)||

                 (no new data send)

            {

                   Set rlc dat pdu P =1;

                   PDU_WITHOUT_POLL = 0;

                    BYTE_WITHOUT_POLL = 0;

              }

          }

         Send AMD pdu tomac layer;

          Poll_sn= VT(S)-1;

          If t-PollRetransmitnot start

               Start  PollRetransmit

         Else

             Restart PollRetransmit

     }

Else

        Discard pdu

End

(2),receive status PDU(ARQ)

  If receive nack for SN

 {

      If(VT(A)<=SN<=VT(S))

         if (RETX_COUNT >= maxRetxThreshold)

              tell up layer “reach maxthreshold”

              return;

        RETX_COUNT++;

        If ulgrarnt > pdu size

            Send pdu to mac

       Else

              Send ulgrant size part pdu to mac

       Set P filed;

       PDU_WITHOUT_POLL= 0;

      BYTE_WITHOUT_POLL = 0; 

      Poll_sn= VT(S)-1;

     If t-PollRetransmit not start

          Start PollRetransmit

    Else

        Restart PollRetransmit

 }

(3), PollRetransmittimeout

 If (send_buffer& retransmit buffer is empty)||

      (no new data send)

   {

         Set rlc dat pdu P =1;

          PDU_WITHOUT_POLL = 0;

          BYTE_WITHOUT_POLL = 0;

           Poll_sn= VT(S)-1;

          Retansmit sn=vt(s)-1的未收到ack的pdu 

}

 

 

 


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值