File tree Expand file tree Collapse file tree 1 file changed +20
-4
lines changed
crates/subspace-farmer/src/bin/subspace-farmer/commands Expand file tree Collapse file tree 1 file changed +20
-4
lines changed Original file line number Diff line number Diff line change 11use anyhow:: { anyhow, Result } ;
22use jsonrpsee:: ws_server:: WsServerBuilder ;
3- use log:: info;
3+ use log:: { info, warn } ;
44use std:: mem;
55use std:: sync:: Arc ;
66use std:: time:: Duration ;
@@ -24,7 +24,7 @@ pub(crate) async fn farm(
2424 custom_path,
2525 listen_on,
2626 node_rpc_url,
27- ws_server_listen_addr,
27+ mut ws_server_listen_addr,
2828 reward_address,
2929 plot_size,
3030 } : FarmingArgs ,
@@ -79,9 +79,25 @@ pub(crate) async fn farm(
7979 . await ?;
8080
8181 // Start RPC server
82- let ws_server = WsServerBuilder :: default ( )
82+ let ws_server = match WsServerBuilder :: default ( )
8383 . build ( ws_server_listen_addr)
84- . await ?;
84+ . await
85+ {
86+ Ok ( ws_server) => ws_server,
87+ Err ( jsonrpsee:: core:: Error :: Transport ( error) ) => {
88+ warn ! (
89+ "Failed to start WebSocket RPC server on {ws_server_listen_addr} ({error}),\
90+ trying random port"
91+ ) ;
92+ ws_server_listen_addr. set_port ( 0 ) ;
93+ WsServerBuilder :: default ( )
94+ . build ( ws_server_listen_addr)
95+ . await ?
96+ }
97+ Err ( error) => {
98+ return Err ( error. into ( ) ) ;
99+ }
100+ } ;
85101 let ws_server_addr = ws_server. local_addr ( ) ?;
86102 let rpc_server = RpcServerImpl :: new (
87103 record_size,
You can’t perform that action at this time.
0 commit comments