@@ -343,16 +343,6 @@ where
343
343
self
344
344
}
345
345
346
- /// Sets number of threads of the server to run.
347
- ///
348
- /// Panics when set to `0`.
349
- #[ cfg( not( unix) ) ]
350
- #[ allow( unused_mut) ]
351
- pub fn threads ( mut self , _threads : usize ) -> Self {
352
- warn ! ( "Multi-threaded server is not available on Windows. Falling back to single thread." ) ;
353
- self
354
- }
355
-
356
346
/// Sets number of threads of the server to run.
357
347
///
358
348
/// Panics when set to `0`.
@@ -362,7 +352,6 @@ where
362
352
/// So it's also possible to run a multi-threaded server by
363
353
/// passing the default `tokio::runtime` executor to this builder
364
354
/// and setting `threads` to 1.
365
- #[ cfg( unix) ]
366
355
pub fn threads ( mut self , threads : usize ) -> Self {
367
356
self . threads = threads;
368
357
self
@@ -558,25 +547,20 @@ fn serve<M: jsonrpc::Metadata, S: jsonrpc::Middleware<M>>(
558
547
// non-blocking mode of operation (future Tokio/Hyper versions
559
548
// require for the callers to do that manually)
560
549
listener. set_nonblocking ( true ) ?;
561
- // HACK: See below.
562
- #[ cfg( windows) ]
563
- let raw_socket = std:: os:: windows:: io:: AsRawSocket :: as_raw_socket ( & listener) ;
564
- #[ cfg( not( windows) ) ]
565
- let raw_socket = ( ) ;
566
550
567
551
let server_builder =
568
552
hyper:: Server :: from_tcp ( listener) . map_err ( |e| io:: Error :: new ( io:: ErrorKind :: Other , e) ) ?;
569
553
// Add current host to allowed headers.
570
554
// NOTE: we need to use `l.local_addr()` instead of `addr`
571
555
// it might be different!
572
- Ok ( ( server_builder, local_addr, raw_socket ) )
556
+ Ok ( ( server_builder, local_addr) )
573
557
} ;
574
558
575
559
let bind_result = match bind ( ) {
576
- Ok ( ( server_builder, local_addr, raw_socket ) ) => {
560
+ Ok ( ( server_builder, local_addr) ) => {
577
561
// Send local address
578
562
match local_addr_tx. send ( Ok ( local_addr) ) {
579
- Ok ( _) => Ok ( ( server_builder, local_addr, raw_socket ) ) ,
563
+ Ok ( _) => Ok ( ( server_builder, local_addr) ) ,
580
564
Err ( _) => {
581
565
warn ! (
582
566
"Thread {:?} unable to reach receiver, closing server" ,
@@ -594,7 +578,7 @@ fn serve<M: jsonrpc::Metadata, S: jsonrpc::Middleware<M>>(
594
578
}
595
579
} ;
596
580
597
- let ( server_builder, local_addr, _raw_socket ) = bind_result?;
581
+ let ( server_builder, local_addr) = bind_result?;
598
582
599
583
let allowed_hosts = server_utils:: hosts:: update ( allowed_hosts, & local_addr) ;
600
584
@@ -631,13 +615,6 @@ fn serve<M: jsonrpc::Metadata, S: jsonrpc::Middleware<M>>(
631
615
error ! ( "Error running HTTP server: {:?}" , err) ;
632
616
}
633
617
634
- // FIXME: Work around TCP listener socket not being properly closed
635
- // in mio v0.6. This runs the std::net::TcpListener's destructor,
636
- // which closes the underlying OS socket.
637
- // Remove this once we migrate to Tokio 1.0.
638
- #[ cfg( windows) ]
639
- let _: std:: net:: TcpListener = unsafe { std:: os:: windows:: io:: FromRawSocket :: from_raw_socket ( _raw_socket) } ;
640
-
641
618
done_tx. send ( ( ) )
642
619
} ) ;
643
620
}
0 commit comments