Class BlockAcknowledgementMessage
java.lang.Object
org.openremote.agent.protocol.bluetooth.mesh.control.TransportControlMessage
org.openremote.agent.protocol.bluetooth.mesh.control.BlockAcknowledgementMessage
-
Nested Class Summary
Nested classes/interfaces inherited from class org.openremote.agent.protocol.bluetooth.mesh.control.TransportControlMessage
TransportControlMessage.TransportControlMessageState
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int
calculateBlockAcknowledgement
(int segN) Calculates the block acknowledgement payload.static Integer
calculateBlockAcknowledgement
(Integer blockAck, int segO) Calculates the block acknowledgement payload.getSegmentsToBeRetransmitted
(byte[] blockAcknowledgement, int segmentCount) Parses the block acknowledgement payloadgetState()
static boolean
hasAllSegmentsBeenReceived
(Integer blockAcknowledgement, int segN) Checks if all segments are received based on the segment count
-
Field Details
-
LOG
-
-
Constructor Details
-
BlockAcknowledgementMessage
public BlockAcknowledgementMessage(byte[] acknowledgementPayload)
-
-
Method Details
-
calculateBlockAcknowledgement
Calculates the block acknowledgement payload.This method will set the segO bit to 1
- Parameters:
blockAck
- block acknowledgement payload to be sentsegO
- 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 classTransportControlMessage
-
getSegmentsToBeRetransmitted
public static List<Integer> getSegmentsToBeRetransmitted(byte[] blockAcknowledgement, int segmentCount) Parses the block acknowledgement payloadThis method will iterate though the block acknowledgement to find out which segments needs to be retransmitted.
- Parameters:
blockAcknowledgement
- acknowledgement payload receivedsegmentCount
- number of segments
-
hasAllSegmentsBeenReceived
Checks if all segments are received based on the segment count- Parameters:
blockAcknowledgement
- acknowledgement payload receivedsegN
- number of segments
-