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

Overview

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”.

Included Modules

Defined in:

matter/cluster/definitions/group_key_management.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(data : Slice(UInt8)) #

[View source]

Instance Method Detail

def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def 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.


[View source]
def group_key_set_id : UInt16 #

[View source]
def group_key_set_id=(group_key_set_id : UInt16) #

[View source]