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/grpc_server.go   A

Size/Duplication

Total Lines 81
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 13
eloc 58
dl 0
loc 81
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A grpcserver.GrpcServeTLS 0 8 2
A grpcserver.*server.Put 0 14 3
A grpcserver.*server.Get 0 14 4
A grpcserver.grpcServe 0 13 3
A grpcserver.GrpcServe 0 3 1
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