diff --git a/kms/kmspeers.go b/kms/kmspeers.go index faea860334f59ba52bae25d7f65b2ce305fb6df9..fe612e42e0afb155f15a441f9acbb23325a8a8dc 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) +}