From 810bf77f0e1b9f1376b5ee772a4789fe164fccf2 Mon Sep 17 00:00:00 2001
From: Martin Stiemerling <martin.stiemerling@h-da.de>
Date: Tue, 4 Jul 2023 12:41:35 +0000
Subject: [PATCH] Added Functions  needed for KMS peer handling

---
 kms/kmspeers.go | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/kms/kmspeers.go b/kms/kmspeers.go
index faea860..fe612e4 100644
--- a/kms/kmspeers.go
+++ b/kms/kmspeers.go
@@ -12,20 +12,23 @@ import (
 	"google.golang.org/grpc/credentials/insecure"
 )
 
-type kmsPeerStatus int16
+type KmsPeerStatus int16
 
 const (
-	kmsPeerUp      kmsPeerStatus = iota // peer was seen up lately
+	kmsPeerUp      KmsPeerStatus = iota // peer was seen up lately
 	kmsPeerDown                         // peer not reachable anymore
 	kmsPeerPending                      // peer was added and has to be succesfully contacted once
 	kmsPeerUnknown                      // not known, not initialized
 )
 
 type kmsPeerInfo interface {
+	GetKmsPeerStatus() KmsPeerStatus
+	GetKmsPeerId() uuid.UUID
+	GetKmsPeerQkdiId() uint32
 }
 
 type kmsPeer struct {
-	peerStatus   kmsPeerStatus
+	peerStatus   KmsPeerStatus
 	servingQLE   *QuantumElement
 	tcpSocket    net.TCPAddr // the IP address and TCP port (aka socket) of the kms peer
 	tcpSocketStr string      // string rep. of tcpSocket
@@ -37,6 +40,7 @@ func NewKmsPeer(servQLE *QuantumElement) (peer kmsPeer) {
 	return kmsPeer{
 		peerStatus: kmsPeerUnknown,
 		servingQLE: servQLE,
+		id:         uuid.New(),
 	}
 }
 
@@ -71,3 +75,15 @@ func (ph *kmsPeer) PeerHandler(kmsName string) {
 	log.Printf("Greeting: %s which is now in peerStatus %d", r.GetPeerKmsName(), ph.peerStatus)
 
 }
+
+func (ph *kmsPeer) GetKmsPeerStatus() KmsPeerStatus {
+	return ph.peerStatus
+}
+
+func (ph *kmsPeer) GetKmsPeerId() uuid.UUID {
+	return ph.id
+}
+
+func (ph *kmsPeer) GetKmsPeerQkdiId() uint32 {
+	return uint32(ph.servingQLE.qlID)
+}
-- 
GitLab