Skip to main content
. 2021 Nov 29;21(23):7974. doi: 10.3390/s21237974
Algorithm 1 Proposed multi-link channel access procedure of an STA.
  • 1:

    while the STA has a packet to transmit do

  • 2:

    bRand[0,CW1] # Pick a new backoff count value

  • 3:

       while b!=0 do

  • 4:

      if Other STA has completed a backoff process and is about to transmit a packet then

  • 5:

       if the channel is idle for PIFS then

  • 6:

        Transmit the packet in the given channel  

  • 7:

        if the MLD uses the Switch Scheme then

  • 8:

         (CWmin,CWmax,CW)(CWminB,CWmaxB,CWmin)  

  • 9:

         Start a timer with an expiration time of tswitch  

  • 10:

        end if 

  • 11:

        if the MLD uses the Doubling Scheme then

  • 12:

         CWmin(2(CW+1)1,CWmax)  

  • 13:

        end if 

  • 14:

        if the MLD uses the Repick Scheme then

  • 15:

         boldb, bRand[0,CW1] # Repick a new backoff count value  

  • 16:

        end if 

  • 17:

        if the MLD uses the Compensation Scheme then

  • 18:

         bb+bold # Add the remaining backoff count to the current value  

  • 19:

        end if 

  • 20:

       end if 

  • 21:

      end if 

  • 22:

      while the channel is sensed busy do

  • 23:

       Sense the channel for DIFS  

  • 24:

      end while 

  • 25:

      bb1 for every idle Tslot duration  

  • 26:

    end while 

  • 27:

     Transmit the packet in the given channel  

  • 28:

    if the MLD uses the Switch Scheme tswitch has expired then

  • 29:

      (CWmin,CWmax,CW)(CWminA,CWmaxA,CWmin)  

  • 30:

    end if 

  • 31:

    if the transmission succeeds then

  • 32:

      CWCWmin  

  • 33:

    else

  • 34:

      CWmin(2(CW+1)1,CWmax)  

  • 35:

    end if 

  • 36:

    end while