@@ -46,25 +46,45 @@ func NewServer(cfg *config.Config, serverType string) Server {
4646 new_server := & Server {}
4747 switch serverType {
4848 case "rpc" :
49- new_server .Port = cfg .Ports .RPC
50- new_server .Start = Start_RPC_Server
51- new_server .Shutdown = Shutdown_RPC_Server
49+ if cfg .Ports .RPC != 0 {
50+ new_server .Port = cfg .Ports .RPC
51+ new_server .Start = Start_RPC_Server
52+ new_server .Shutdown = Shutdown_RPC_Server
53+ } else {
54+ fmt .Println ("RPC Service is disabled." )
55+ }
5256 case "grpc" :
53- new_server .Port = cfg .Ports .GRPC
54- new_server .Start = Start_GRPC_Server
55- new_server .Shutdown = Shutdown_GRPC_Server
57+ if cfg .Ports .GRPC != 0 {
58+ new_server .Port = cfg .Ports .GRPC
59+ new_server .Start = Start_GRPC_Server
60+ new_server .Shutdown = Shutdown_GRPC_Server
61+ } else {
62+ fmt .Println ("gRPC Service is disabled." )
63+ }
5664 case "api" :
57- new_server .Port = cfg .Ports .API
58- new_server .Start = Start_API_Server
59- new_server .Shutdown = Shutdown_API_Server
65+ if cfg .Ports .API != 0 {
66+ new_server .Port = cfg .Ports .API
67+ new_server .Start = Start_API_Server
68+ new_server .Shutdown = Shutdown_API_Server
69+ } else {
70+ fmt .Println ("API Service is disabled." )
71+ }
6072 case "jsonrpc" :
61- new_server .Port = cfg .Ports .JSONRPC
62- new_server .Start = Start_JSON_RPC_Server
63- new_server .Shutdown = Shutdown_JSON_RPC_Server
73+ if cfg .Ports .JSONRPC != 0 {
74+ new_server .Port = cfg .Ports .JSONRPC
75+ new_server .Start = Start_JSON_RPC_Server
76+ new_server .Shutdown = Shutdown_JSON_RPC_Server
77+ } else {
78+ fmt .Println ("JSON-RPC Service is disabled." )
79+ }
6480 case "jsonrpc_ws" :
65- new_server .Port = cfg .Ports .JSONRPC_WS
66- new_server .Start = Start_JSON_RPC_WS_Server
67- new_server .Shutdown = Shutdown_JSON_RPC_WS_Server
81+ if cfg .Ports .JSONRPC_WS != 0 {
82+ new_server .Port = cfg .Ports .JSONRPC_WS
83+ new_server .Start = Start_JSON_RPC_WS_Server
84+ new_server .Shutdown = Shutdown_JSON_RPC_WS_Server
85+ } else {
86+ fmt .Println ("JSON-RPC WebSocket Service is disabled." )
87+ }
6888 default :
6989 fmt .Println ("Invalid server type" )
7090 os .Exit (1 )
@@ -73,11 +93,21 @@ func NewServer(cfg *config.Config, serverType string) Server {
7393}
7494
7595func (g * Gateway ) Start () {
76- go g .RPC_Server .Start (& g .RPC_Server )
77- go g .GRPC_Server .Start (& g .GRPC_Server )
78- go g .API_Server .Start (& g .API_Server )
79- go g .JSON_RPC_Server .Start (& g .JSON_RPC_Server )
80- go g .JSON_RPC_WS_Server .Start (& g .JSON_RPC_WS_Server )
96+ if g .RPC_Server .Port != 0 {
97+ go g .RPC_Server .Start (& g .RPC_Server )
98+ }
99+ if g .GRPC_Server .Port != 0 {
100+ go g .GRPC_Server .Start (& g .GRPC_Server )
101+ }
102+ if g .API_Server .Port != 0 {
103+ go g .API_Server .Start (& g .API_Server )
104+ }
105+ if g .JSON_RPC_Server .Port != 0 {
106+ go g .JSON_RPC_Server .Start (& g .JSON_RPC_Server )
107+ }
108+ if g .JSON_RPC_WS_Server .Port != 0 {
109+ go g .JSON_RPC_WS_Server .Start (& g .JSON_RPC_WS_Server )
110+ }
81111
82112 stop := make (chan os.Signal , 1 )
83113 signal .Notify (stop , os .Interrupt , syscall .SIGTERM )
@@ -96,13 +126,15 @@ func (g *Gateway) Shutdown() {
96126 defer cancel ()
97127
98128 for _ , server := range servers {
99- wg .Add (1 )
100- go func (s * Server ) {
101- defer wg .Done ()
102- if err := shutdownWithTimeout (ctx , s ); err != nil {
103- fmt .Printf ("Error shutting down %T: %v\n " , s , err )
104- }
105- }(server )
129+ if server .Port != 0 {
130+ wg .Add (1 )
131+ go func (s * Server ) {
132+ defer wg .Done ()
133+ if err := shutdownWithTimeout (ctx , s ); err != nil {
134+ fmt .Printf ("Error shutting down %T: %v\n " , s , err )
135+ }
136+ }(server )
137+ }
106138 }
107139
108140 wg .Wait ()
0 commit comments