diff --git a/kms/kms.go b/kms/kms.go index babd4151dc80a7eba262aafe0ad39563a7ea8a61..3c924a44cd0d81e5e60852f09c15ba91a75b7da5 100644 --- a/kms/kms.go +++ b/kms/kms.go @@ -25,6 +25,7 @@ type Qkdnkms interface { GlobalKeyHandler(time.Duration) error AddPeer(kmsPeerSocket string, servingQLE *QuantumElement) RemovePeer(kmsPeerSocket string) + FindPeerUuid(uuid.UUID) *kmsPeer } type qlElementLinkID int @@ -190,3 +191,15 @@ func (kms *EKMS) AddExternalNotifierQLE(in chan uint32) { func (kms *EKMS) AddExternalNotifierKMSPeer(in chan string) { kms.externalNotifierKMSPeer = in } + +func (kms *EKMS) FindPeerUuid(lookup uuid.UUID) (peer *kmsPeer) { + if kms.KmsPeers != nil { + for _, peer = range kms.KmsPeers { + if peer.id == lookup { + return peer + } + } + } + + return nil +}