NetworkPropertiesStorage

Storage class used to load and store generate sequence numbers for each Unicast Address.

This is further extended with helper methods for handling Sequence Numbers of outgoing messages from the local Node. Each message must contain a unique 24-bit Sequence Number, which together with 32-bit IV Index ensure that replay attacks are not possible.

See also

Properties

Link copied to clipboard
Link copied to clipboard
abstract var ivIndex: IvIndex
Link copied to clipboard
abstract var lastTransitionDate: Instant

Functions

Link copied to clipboard
abstract suspend fun lastSeqAuthValue(uuid: UUID, source: UnicastAddress): ULong?

Returns the last received SeqAuth value for the given source address or null if no message has ever been received from the given source address.

Link copied to clipboard
abstract suspend fun nextSequenceNumber(uuid: UUID, address: UnicastAddress): UInt

Returns the next SEQ number to be used to send a message from the given Unicast Address. Each time this method is called returned value is incremented by 1. Size of SEQ is 24 bits.

Link copied to clipboard
abstract suspend fun previousSeqAuthValue(uuid: UUID, source: UnicastAddress): ULong?

Returns the previous SeqAuth value for the given source address.

Link copied to clipboard
abstract suspend fun resetSequenceNumber(uuid: UUID, address: UnicastAddress)

Resets the SEQ associated with all Elements of the given Node to 0.

Link copied to clipboard
abstract suspend fun storeLastSeqAuthValue(uuid: UUID, source: UnicastAddress, lastSeqAuth: ULong)

Stores the last received SeqAuth value for the given source address.

Link copied to clipboard
abstract suspend fun storePreviousSeqAuthValue(uuid: UUID, source: UnicastAddress, seqAuth: ULong)

Stores the previously received SeqAuth value for the given source address.