GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Test Setup Failed
Push — master ( a5aa25...c55ba3 )
by Amir
01:20
created

grpcserver.grpcServe   A

Complexity

Conditions 3

Size

Total Lines 13
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 11
nop 4
dl 0
loc 13
rs 9.85
c 0
b 0
f 0
1
package grpcserver
2
3
import (
4
	"context"
5
	"errors"
6
	"github.com/arazmj/gerdu/cache"
7
	"github.com/arazmj/gerdu/proto"
8
	grpc "google.golang.org/grpc"
9
	"google.golang.org/grpc/credentials"
10
	"log"
11
	"net"
12
	"strconv"
13
)
14
15
type server struct {
16
	proto.UnimplementedGerduServer
17
	verbose bool
18
	gerdu   cache.UnImplementedCache
19
}
20
21
func grpcServe(s *grpc.Server, port int, gerdu cache.UnImplementedCache, verbose bool) {
22
	host := ":" + strconv.Itoa(port)
23
	lis, err := net.Listen("tcp", host)
24
	log.Printf("Gerdu started listening gRPC on %d port\n", port)
25
	if err != nil {
26
		log.Fatalf("failed to listen: %v", err)
27
	}
28
	proto.RegisterGerduServer(s, &server{
29
		gerdu:   gerdu,
30
		verbose: verbose,
31
	})
32
	if err := s.Serve(lis); err != nil {
33
		log.Fatalf("failed to serve: %v", err)
34
	}
35
}
36
37
func GrpcServe(port int, gerdu cache.UnImplementedCache, verbose bool) {
0 ignored issues
show
introduced by
exported function GrpcServe should have comment or be unexported
Loading history...
38
	s := grpc.NewServer()
39
	grpcServe(s, port, gerdu, verbose)
40
}
41
42
func GrpcServeTLS(port int, tlsCert, tlsKey string, gerdu cache.UnImplementedCache, verbose bool) {
0 ignored issues
show
introduced by
exported function GrpcServeTLS should have comment or be unexported
Loading history...
43
	credentials, err := credentials.NewServerTLSFromFile(tlsCert, tlsKey)
44
	if err != nil {
45
		log.Fatalf("Failed to setup TLS for gRPC service: %v", err)
46
	}
47
48
	s := grpc.NewServer(grpc.Creds(credentials))
49
	grpcServe(s, port, gerdu, verbose)
50
}
51
52
func (s *server) Put(ctx context.Context, request *proto.PutRequest) (*proto.PutResponse, error) {
53
	value := string(request.Value)
54
	key := request.Key
55
	created := s.gerdu.Put(key, value)
56
	if s.verbose {
57
		if !created {
58
			log.Printf("gRPC UPDATE Key: %s Value: %s\n", key, value)
59
		} else {
60
			log.Printf("gRPC INSERT Key: %s Value: %s\n", key, value)
61
		}
62
	}
63
	return &proto.PutResponse{
64
		Created: created,
65
	}, nil
66
}
67
68
func (s *server) Get(ctx context.Context, request *proto.GetRequest) (*proto.GetResponse, error) {
69
	value, ok := s.gerdu.Get(request.Key)
70
	if ok {
71
		if s.verbose {
72
			log.Printf("gRPC RETREIVED Key: %s Value: %s\n", request.Key, value)
73
		}
74
		return &proto.GetResponse{
75
			Value: []byte(value),
76
		}, nil
77
	}
78
	if s.verbose {
79
		log.Printf("gRPC MISSED Key: %s \n", value)
80
	}
81
	return nil, errors.New("key not found")
82
}
83