@@ -343,16 +343,6 @@ where
343343 self
344344 }
345345
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-
356346 /// Sets number of threads of the server to run.
357347 ///
358348 /// Panics when set to `0`.
@@ -362,7 +352,6 @@ where
362352 /// So it's also possible to run a multi-threaded server by
363353 /// passing the default `tokio::runtime` executor to this builder
364354 /// and setting `threads` to 1.
365- #[ cfg( unix) ]
366355 pub fn threads ( mut self , threads : usize ) -> Self {
367356 self . threads = threads;
368357 self
@@ -558,25 +547,20 @@ fn serve<M: jsonrpc::Metadata, S: jsonrpc::Middleware<M>>(
558547 // non-blocking mode of operation (future Tokio/Hyper versions
559548 // require for the callers to do that manually)
560549 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 = ( ) ;
566550
567551 let server_builder =
568552 hyper:: Server :: from_tcp ( listener) . map_err ( |e| io:: Error :: new ( io:: ErrorKind :: Other , e) ) ?;
569553 // Add current host to allowed headers.
570554 // NOTE: we need to use `l.local_addr()` instead of `addr`
571555 // it might be different!
572- Ok ( ( server_builder, local_addr, raw_socket ) )
556+ Ok ( ( server_builder, local_addr) )
573557 } ;
574558
575559 let bind_result = match bind ( ) {
576- Ok ( ( server_builder, local_addr, raw_socket ) ) => {
560+ Ok ( ( server_builder, local_addr) ) => {
577561 // Send local address
578562 match local_addr_tx. send ( Ok ( local_addr) ) {
579- Ok ( _) => Ok ( ( server_builder, local_addr, raw_socket ) ) ,
563+ Ok ( _) => Ok ( ( server_builder, local_addr) ) ,
580564 Err ( _) => {
581565 warn ! (
582566 "Thread {:?} unable to reach receiver, closing server" ,
@@ -594,7 +578,7 @@ fn serve<M: jsonrpc::Metadata, S: jsonrpc::Middleware<M>>(
594578 }
595579 } ;
596580
597- let ( server_builder, local_addr, _raw_socket ) = bind_result?;
581+ let ( server_builder, local_addr) = bind_result?;
598582
599583 let allowed_hosts = server_utils:: hosts:: update ( allowed_hosts, & local_addr) ;
600584
@@ -631,13 +615,6 @@ fn serve<M: jsonrpc::Metadata, S: jsonrpc::Middleware<M>>(
631615 error ! ( "Error running HTTP server: {:?}" , err) ;
632616 }
633617
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-
641618 done_tx. send ( ( ) )
642619 } ) ;
643620}
0 commit comments