struct

Matter::Cluster::Definitions::GroupKeyManagement::GroupKeySet

Inherits TLV::Serializable < Struct < Value < Object

This field shall provide the fabric-unique index for the associated group key set, as specified in Section 4.15.3.5.1, “Group Key Set ID”.

Constructors

new(any : TLV::Any)
Source

Class methods

from_io(io : IO, format : IO::ByteFormat = IO::ByteFormat::LittleEndian)
Source
from_slice(bytes : Bytes)
Source
from_tlv(any : TLV::Any)
Source
from_tlv(data : Bytes)
Source

Instance methods

epoch_key0

This field, if not null, shall be the root credential used in the derivation of an operational group key for epoch slot 0 of the given group key set. If EpochKey0 is not null, EpochStartTime0 shall NOT be null.

Source
epoch_key0=(epoch_key0 : Slice(UInt8) | Nil)

This field, if not null, shall be the root credential used in the derivation of an operational group key for epoch slot 0 of the given group key set. If EpochKey0 is not null, EpochStartTime0 shall NOT be null.

Source
epoch_key1

This field, if not null, shall be the root credential used in the derivation of an operational group key for epoch slot 1 of the given group key set. If EpochKey1 is not null, EpochStartTime1 shall NOT be null.

Source
epoch_key1=(epoch_key1 : Slice(UInt8) | Nil)

This field, if not null, shall be the root credential used in the derivation of an operational group key for epoch slot 1 of the given group key set. If EpochKey1 is not null, EpochStartTime1 shall NOT be null.

Source
epoch_key2

This field, if not null, shall be the root credential used in the derivation of an operational group key for epoch slot 2 of the given group key set. If EpochKey2 is not null, EpochStartTime2 shall NOT be null.

Source
epoch_key2=(epoch_key2 : Slice(UInt8) | Nil)

This field, if not null, shall be the root credential used in the derivation of an operational group key for epoch slot 2 of the given group key set. If EpochKey2 is not null, EpochStartTime2 shall NOT be null.

Source
epoch_start_time0

This field, if not null, shall define when EpochKey0 becomes valid as specified by Section 4.15.3, “Epoch Keys”. Units are absolute UTC time in microseconds encoded using the epoch-us representation.

Source
epoch_start_time0=(epoch_start_time0 : UInt64 | Nil)

This field, if not null, shall define when EpochKey0 becomes valid as specified by Section 4.15.3, “Epoch Keys”. Units are absolute UTC time in microseconds encoded using the epoch-us representation.

Source
epoch_start_time1

This field, if not null, shall define when EpochKey1 becomes valid as specified by Section 4.15.3, “Epoch Keys”. Units are absolute UTC time in microseconds encoded using the epoch-us representation.

Source
epoch_start_time1=(epoch_start_time1 : UInt64 | Nil)

This field, if not null, shall define when EpochKey1 becomes valid as specified by Section 4.15.3, “Epoch Keys”. Units are absolute UTC time in microseconds encoded using the epoch-us representation.

Source
epoch_start_time2

This field, if not null, shall define when EpochKey2 becomes valid as specified by Section 4.15.3, “Epoch Keys”. Units are absolute UTC time in microseconds encoded using the epoch-us representation.

Source
epoch_start_time2=(epoch_start_time2 : UInt64 | Nil)

This field, if not null, shall define when EpochKey2 becomes valid as specified by Section 4.15.3, “Epoch Keys”. Units are absolute UTC time in microseconds encoded using the epoch-us representation.

Source
group_key_multicast_policy

This field specifies how the IPv6 Multicast Address shall be formed for groups using this operational group key set.

The PerGroupID method maximizes filtering of multicast messages, so that receiving nodes receive only multicast messages for groups to which they are subscribed.

The AllNodes method minimizes the number of multicast addresses to which a receiver node needs to subscribe.

NOTE Support for GroupKeyMulticastPolicy is provisional. Correct default behavior is that implied by value PerGroupID.

Source
group_key_multicast_policy=(group_key_multicast_policy : GroupKeyMulticastPolicy)

This field specifies how the IPv6 Multicast Address shall be formed for groups using this operational group key set.

The PerGroupID method maximizes filtering of multicast messages, so that receiving nodes receive only multicast messages for groups to which they are subscribed.

The AllNodes method minimizes the number of multicast addresses to which a receiver node needs to subscribe.

NOTE Support for GroupKeyMulticastPolicy is provisional. Correct default behavior is that implied by value PerGroupID.

Source
group_key_security_policy

This field shall provide the security policy for an operational group key set.

When CacheAndSync is not supported in the FeatureMap of this cluster, any action attempting to set CacheAndSync in the GroupKeySecurityPolicy field shall fail with an INVALID_COMMAND error.

Source
group_key_security_policy=(group_key_security_policy : GroupKeySecurityPolicy)

This field shall provide the security policy for an operational group key set.

When CacheAndSync is not supported in the FeatureMap of this cluster, any action attempting to set CacheAndSync in the GroupKeySecurityPolicy field shall fail with an INVALID_COMMAND error.

Source
group_key_set_id
Source
group_key_set_id=(group_key_set_id : UInt16)
Source
to_io(io : IO, format : IO::ByteFormat = IO::ByteFormat::LittleEndian) : Nil
Source
to_slice
Source
to_tlv(outer_tag : Nil | UInt8 | Tuple(UInt16, UInt16) | Tuple(UInt16, UInt16, UInt16) = nil) : TLV::Any
Source