struct Matter::Cluster::GroupKeyManagementCluster::GroupKeySetStruct

Overview

Group Key Set structure Contains epoch keys and their lifecycle timestamps Matter Core Spec ยง11.2.6.3

Defined in:

matter/cluster/group_key_management_cluster.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(group_key_set_id : UInt16, group_key_security_policy : GroupKeySecurityPolicyEnum = GroupKeySecurityPolicyEnum::TrustFirst, epoch_key0 : Bytes | Nil = nil, epoch_start_time0 : UInt64 | Nil = nil, epoch_key1 : Bytes | Nil = nil, epoch_start_time1 : UInt64 | Nil = nil, epoch_key2 : Bytes | Nil = nil, epoch_start_time2 : UInt64 | Nil = nil, group_key_multicast_policy : GroupKeyMulticastPolicyEnum | Nil = GroupKeyMulticastPolicyEnum::PerGroupId) #

[View source]

Instance Method Detail

def epoch_key0 : Bytes | Nil #

Epoch key 0 (most recent, required, 16 bytes)


[View source]
def epoch_key0=(epoch_key0 : Bytes | Nil) #

Epoch key 0 (most recent, required, 16 bytes)


[View source]
def epoch_key1 : Bytes | Nil #

Epoch key 1 (second newest, optional, 16 bytes)


[View source]
def epoch_key1=(epoch_key1 : Bytes | Nil) #

Epoch key 1 (second newest, optional, 16 bytes)


[View source]
def epoch_key2 : Bytes | Nil #

Epoch key 2 (third newest, optional, 16 bytes)


[View source]
def epoch_key2=(epoch_key2 : Bytes | Nil) #

Epoch key 2 (third newest, optional, 16 bytes)


[View source]
def epoch_start_time0 : UInt64 | Nil #

Epoch start time for key 0 (microseconds since epoch)


[View source]
def epoch_start_time0=(epoch_start_time0 : UInt64 | Nil) #

Epoch start time for key 0 (microseconds since epoch)


[View source]
def epoch_start_time1 : UInt64 | Nil #

Epoch start time for key 1


[View source]
def epoch_start_time1=(epoch_start_time1 : UInt64 | Nil) #

Epoch start time for key 1


[View source]
def epoch_start_time2 : UInt64 | Nil #

Epoch start time for key 2


[View source]
def epoch_start_time2=(epoch_start_time2 : UInt64 | Nil) #

Epoch start time for key 2


[View source]
def group_key_multicast_policy : GroupKeyMulticastPolicyEnum | Nil #

Multicast policy (currently unused, defaults to PerGroupId)


[View source]
def group_key_multicast_policy=(group_key_multicast_policy : GroupKeyMulticastPolicyEnum | Nil) #

Multicast policy (currently unused, defaults to PerGroupId)


[View source]
def group_key_security_policy : GroupKeySecurityPolicyEnum #

Security policy (MUST be TrustFirst in current spec)


[View source]
def group_key_security_policy=(group_key_security_policy : GroupKeySecurityPolicyEnum) #

Security policy (MUST be TrustFirst in current spec)


[View source]
def group_key_set_id : UInt16 #

Unique identifier for this key set (0 = IPK, others = operational)


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

Unique identifier for this key set (0 = IPK, others = operational)


[View source]
def validate! : Nil #

Validate that this key set meets all Matter spec requirements


[View source]