Skip to content
This repository was archived by the owner on May 7, 2025. It is now read-only.

Commit 456705a

Browse files
committed
feat: add gRPC max message size configuration
Introduce a `--max-msg-size` flag to configure the maximum gRPC message size for receiving and sending. Update the gRPC server initialization to include these size limits, ensuring better control over large message handling.
1 parent 70a0183 commit 456705a

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

cmd/centralized-sequencer/main.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import (
1313
"syscall"
1414
"time"
1515

16+
"google.golang.org/grpc"
17+
1618
"github.com/prometheus/client_golang/prometheus/promhttp"
1719

1820
"github.com/rollkit/centralized-sequencer/sequencing"
@@ -39,7 +41,10 @@ func main() {
3941
db_path string
4042
metricsEnabled bool
4143
metricsAddress string
44+
maxMsgSize int
4245
)
46+
47+
// Define flags
4348
flag.StringVar(&host, "host", defaultHost, "centralized sequencer host")
4449
flag.StringVar(&port, "port", defaultPort, "centralized sequencer port")
4550
flag.BoolVar(&listenAll, "listen-all", false, "listen on all network interfaces (0.0.0.0) instead of just localhost")
@@ -51,6 +56,7 @@ func main() {
5156
flag.StringVar(&db_path, "db_path", "", "path to the database")
5257
flag.BoolVar(&metricsEnabled, "metrics", false, "Enable Prometheus metrics")
5358
flag.StringVar(&metricsAddress, "metrics-address", ":8080", "Address to expose Prometheus metrics")
59+
flag.IntVar(&maxMsgSize, "max-msg-size", 4*1024*1024, "Maximum gRPC message size (in bytes)")
5460

5561
flag.Parse()
5662

@@ -95,9 +101,17 @@ func main() {
95101
if err != nil {
96102
log.Fatalf("Failed to create centralized sequencer: %v", err)
97103
}
98-
grpcServer := sequencingGRPC.NewServer(centralizedSeq, centralizedSeq, centralizedSeq)
99104

100-
log.Println("Starting centralized sequencing gRPC server on port 50051...")
105+
// Create gRPC server with max message size options
106+
grpcOpts := []grpc.ServerOption{
107+
grpc.MaxRecvMsgSize(maxMsgSize),
108+
grpc.MaxSendMsgSize(maxMsgSize),
109+
}
110+
111+
// Create and register the sequencing proxy
112+
grpcServer := sequencingGRPC.NewServer(centralizedSeq, centralizedSeq, centralizedSeq, grpcOpts...)
113+
114+
log.Printf("Starting centralized sequencing gRPC server on %s...\n", address)
101115
if err := grpcServer.Serve(lis); err != nil {
102116
log.Fatalf("Failed to serve: %v", err)
103117
}

0 commit comments

Comments
 (0)