diff options
author | Benjamin Chausse <benjamin@chausse.xyz> | 2025-02-03 01:12:45 -0500 |
---|---|---|
committer | Benjamin Chausse <benjamin@chausse.xyz> | 2025-02-03 01:12:45 -0500 |
commit | 5389e1a5d26fdbf2441fa5a1e101999e8449b9d1 (patch) | |
tree | 069cd37cb8e556c1ba3b47c3ea8576a1aa91ea2c /internal/server/setup.go |
Batman
Diffstat (limited to 'internal/server/setup.go')
-rw-r--r-- | internal/server/setup.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/internal/server/setup.go b/internal/server/setup.go new file mode 100644 index 0000000..551cd95 --- /dev/null +++ b/internal/server/setup.go @@ -0,0 +1,34 @@ +package server + +import ( + "database/sql" + "fmt" + "log/slog" + "net" + + "github.com/ChausseBenjamin/rafta/internal/logging" + m "github.com/ChausseBenjamin/rafta/internal/server/model" + "github.com/ChausseBenjamin/rafta/internal/tagging" + "google.golang.org/grpc" +) + +func Setup(port int64, storage *sql.DB) (*grpc.Server, net.Listener, error) { + lis, err := net.Listen( + "tcp", + fmt.Sprintf(":%d", port), + ) + if err != nil { + slog.Error("Unable to create listener", logging.ErrKey, err) + return nil, nil, err + } + + grpcServer := grpc.NewServer( + grpc.ChainUnaryInterceptor( + tagging.UnaryInterceptor, + ), + ) + raftaService := &Service{store: storage} + m.RegisterRaftaServer(grpcServer, raftaService) + + return grpcServer, lis, nil +} |