Class BlockAcknowledgementMessage

java.lang.Object
org.openremote.agent.protocol.bluetooth.mesh.control.TransportControlMessage
org.openremote.agent.protocol.bluetooth.mesh.control.BlockAcknowledgementMessage

public class BlockAcknowledgementMessage extends TransportControlMessage
  • Field Details

    • LOG

      public static final Logger LOG
  • Constructor Details

    • BlockAcknowledgementMessage

      public BlockAcknowledgementMessage(byte[] acknowledgementPayload)
  • Method Details

    • calculateBlockAcknowledgement

      public static Integer calculateBlockAcknowledgement(Integer blockAck, int segO)
      Calculates the block acknowledgement payload.

      This method will set the segO bit to 1

      Parameters:
      blockAck - block acknowledgement payload to be sent
      segO - segment index
    • calculateBlockAcknowledgement

      public static int calculateBlockAcknowledgement(int segN)
      Calculates the block acknowledgement payload.

      This method will set the segO bit to 1

      Parameters:
      segN - number of segments
    • getState

      Specified by:
      getState in class TransportControlMessage
    • getSegmentsToBeRetransmitted

      public static List<Integer> getSegmentsToBeRetransmitted(byte[] blockAcknowledgement, int segmentCount)
      Parses the block acknowledgement payload

      This method will iterate though the block acknowledgement to find out which segments needs to be retransmitted.

      Parameters:
      blockAcknowledgement - acknowledgement payload received
      segmentCount - number of segments
    • hasAllSegmentsBeenReceived

      public static boolean hasAllSegmentsBeenReceived(Integer blockAcknowledgement, int segN)
      Checks if all segments are received based on the segment count
      Parameters:
      blockAcknowledgement - acknowledgement payload received
      segN - number of segments