Newer
Older
import (
"context"
"flag"
"fmt"
"log"
"net"
pb "code.fbi.h-da.de/danet/proto-kms/api/gen/proto/go/kmsintercom"
type kmsTalkerServer struct {
pb.UnimplementedKmsTalkerServer
}
func (s *kmsTalkerServer) InterComCapabilities(ctx context.Context, in *pb.InterComCapabilitiesRequest) (capReply *pb.InterComCapabilitiesReply, err error) {
log.Printf("Received: %v", in.GetMyKmsName())
return &pb.InterComCapabilitiesReply{
PeerKmsName: "whatever",
}, nil
func (s *kmsTalkerServer) InterComKeyTransportSessionHandling(ctx context.Context, in *pb.InterComKeyTransportSessionHandlingRequest) (*pb.InterComKeyTransportSessionHandlingReply, error) {
return &pb.InterComKeyTransportSessionHandlingReply{
UsedKey: "whatever",
}, nil
}
func StartInterComm(interComPort int) {
lis, err := net.Listen("tcp", fmt.Sprintf(":%d", interComPort))
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
pb.RegisterKmsTalkerServer(s, &kmsTalkerServer{})
log.Printf("server listening at %v", lis.Addr())
if err := s.Serve(lis); err != nil {
log.Fatalf("failed to serve: %v", err)
}
}