From 91d29203e9fa362194aad79c6a5f9968318aaae2 Mon Sep 17 00:00:00 2001
From: Martin Stiemerling <martin.stiemerling@h-da.de>
Date: Wed, 5 Jul 2023 11:40:04 +0000
Subject: [PATCH] PeerHandler now checks regularily for peer.

---
 kms/kmspeers.go | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/kms/kmspeers.go b/kms/kmspeers.go
index 720afb5..91a511c 100644
--- a/kms/kmspeers.go
+++ b/kms/kmspeers.go
@@ -74,6 +74,20 @@ func (ph *kmsPeer) PeerHandler(kmsName string) {
 
 	log.Printf("Greeting: %s which is now in peerStatus %d", r.GetPeerKmsName(), ph.peerStatus)
 
+	// By now, do check only the liveliness of the peer, nothing else.
+	for {
+		time.Sleep(30 * time.Second)
+		// Contact the server and print out its response.
+		ctx, cancel := context.WithTimeout(context.Background(), time.Second)
+		defer cancel()
+		r, err := c.ETSICapabilities(ctx, &pb.ETSICapabilitiesRequest{MyKmsName: kmsName})
+		if err != nil {
+			log.Printf("could not greet: %v", err)
+			ph.peerStatus = kmsPeerDown
+		}
+
+	}
+
 }
 
 func (ph *kmsPeer) GetKmsPeerStatus() KmsPeerStatus {
-- 
GitLab