mirror of https://github.com/fafhrd91/actix-net
fix actix-server build on windows
This commit is contained in:
parent
869175e1c9
commit
9b5400aa27
|
@ -27,7 +27,7 @@ actix-utils = "2.0.0"
|
|||
|
||||
concurrent-queue = "1.2.2"
|
||||
futures-channel = { version = "0.3.4", default-features = false }
|
||||
futures-util = { version = "0.3.4", default-features = false, features = ["sink"] }
|
||||
futures-util = { version = "0.3.4", default-features = false }
|
||||
log = "0.4"
|
||||
mio = { version = "0.7.3", features = [ "os-poll", "tcp", "uds"] }
|
||||
num_cpus = "1.13"
|
||||
|
@ -35,7 +35,8 @@ slab = "0.4"
|
|||
socket2 = "0.3"
|
||||
|
||||
[dev-dependencies]
|
||||
actix-testing = "1.0.0"
|
||||
bytes = "0.5"
|
||||
env_logger = "0.7"
|
||||
actix-testing = "1.0.0"
|
||||
futures-util = { version = "0.3.4", default-features = false, features = ["sink"] }
|
||||
tokio = { version = "0.3.0", features = ["full"] }
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use std::time::Duration;
|
||||
|
||||
use std::{io, thread};
|
||||
|
||||
use actix_rt::time::{sleep_until, Instant};
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use std::future::Future;
|
||||
use std::pin::Pin;
|
||||
use std::task::{Context, Poll};
|
||||
use std::time::Duration;
|
||||
|
@ -10,7 +11,7 @@ use futures_channel::mpsc::{unbounded, UnboundedReceiver};
|
|||
use futures_channel::oneshot;
|
||||
use futures_util::future::ready;
|
||||
use futures_util::stream::FuturesUnordered;
|
||||
use futures_util::{future::Future, ready, stream::Stream, FutureExt, StreamExt};
|
||||
use futures_util::{ready, stream::Stream, FutureExt, StreamExt};
|
||||
use log::{error, info};
|
||||
use socket2::{Domain, Protocol, Socket, Type};
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ use std::{fmt, io, net};
|
|||
use actix_rt::net::TcpStream;
|
||||
use actix_service as actix;
|
||||
use actix_utils::counter::CounterGuard;
|
||||
use futures_util::future::{ok, Future, FutureExt, LocalBoxFuture};
|
||||
use futures_util::future::{ready, Future, FutureExt, LocalBoxFuture};
|
||||
use log::error;
|
||||
|
||||
use super::builder::bind_addr;
|
||||
|
@ -145,7 +145,7 @@ impl InternalServiceFactory for ConfiguredService {
|
|||
Box::new(StreamService::new(actix::fn_service(
|
||||
move |_: TcpStream| {
|
||||
error!("Service {:?} is not configured", name);
|
||||
ok::<_, ()>(())
|
||||
ready::<Result<_, ()>>(Ok(()))
|
||||
},
|
||||
))),
|
||||
));
|
||||
|
|
|
@ -6,7 +6,7 @@ use std::time::Duration;
|
|||
use actix_rt::spawn;
|
||||
use actix_service::{self as actix, Service, ServiceFactory as ActixServiceFactory};
|
||||
use actix_utils::counter::CounterGuard;
|
||||
use futures_util::future::{err, ok, LocalBoxFuture, Ready};
|
||||
use futures_util::future::{ready, LocalBoxFuture, Ready};
|
||||
use futures_util::{FutureExt, TryFutureExt};
|
||||
use log::error;
|
||||
|
||||
|
@ -87,12 +87,12 @@ where
|
|||
let _ = f.await;
|
||||
drop(guard);
|
||||
});
|
||||
ok(())
|
||||
ready(Ok(()))
|
||||
} else {
|
||||
err(())
|
||||
ready(Err(()))
|
||||
}
|
||||
}
|
||||
_ => ok(()),
|
||||
_ => ready(Ok(())),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ use std::pin::Pin;
|
|||
use std::task::{Context, Poll};
|
||||
|
||||
use futures_util::future::lazy;
|
||||
use futures_util::stream::Stream;
|
||||
|
||||
use crate::server::Server;
|
||||
|
||||
|
@ -43,6 +42,7 @@ impl Signals {
|
|||
#[cfg(unix)]
|
||||
{
|
||||
use actix_rt::signal::unix;
|
||||
use futures_util::stream::Stream;
|
||||
|
||||
let mut streams = Vec::new();
|
||||
|
||||
|
@ -82,7 +82,7 @@ impl Future for Signals {
|
|||
self.srv.signal(Signal::Int);
|
||||
Poll::Ready(())
|
||||
}
|
||||
Poll::Pending => return Poll::Pending,
|
||||
Poll::Pending => Poll::Pending,
|
||||
}
|
||||
#[cfg(unix)]
|
||||
{
|
||||
|
|
|
@ -6,19 +6,20 @@ use std::os::unix::{
|
|||
io::{FromRawFd, IntoRawFd},
|
||||
net::{SocketAddr as StdUdsSocketAddr, UnixListener as StdUnixListener},
|
||||
};
|
||||
|
||||
#[cfg(windows)]
|
||||
use std::os::windows::io::{FromRawSocket, IntoRawSocket};
|
||||
|
||||
use mio::event::Source;
|
||||
use mio::net::{
|
||||
SocketAddr as MioSocketAddr, TcpListener as MioTcpListener, TcpStream as MioTcpStream,
|
||||
UnixListener as MioUnixListener, UnixStream as MioUnixStream,
|
||||
};
|
||||
use mio::{Interest, Registry, Token};
|
||||
|
||||
use actix_codec::{AsyncRead, AsyncWrite};
|
||||
use actix_rt::net::{TcpStream, UnixStream};
|
||||
use actix_rt::net::TcpStream;
|
||||
#[cfg(unix)]
|
||||
use actix_rt::net::UnixStream;
|
||||
use mio::event::Source;
|
||||
#[cfg(unix)]
|
||||
use mio::net::{
|
||||
SocketAddr as MioSocketAddr, UnixListener as MioUnixListener, UnixStream as MioUnixStream,
|
||||
};
|
||||
use mio::net::{TcpListener as MioTcpListener, TcpStream as MioTcpStream};
|
||||
use mio::{Interest, Registry, Token};
|
||||
|
||||
/// socket module contains a unified wrapper for Tcp/Uds listener/SocketAddr/Stream and necessary
|
||||
/// trait impl for registering the listener to mio::Poll and convert stream to
|
||||
|
@ -203,9 +204,6 @@ impl FromStream for TcpStream {
|
|||
let raw = IntoRawSocket::into_raw_socket(mio);
|
||||
TcpStream::from_std(unsafe { FromRawSocket::from_raw_socket(raw) })
|
||||
}
|
||||
MioStream::Uds(_) => {
|
||||
panic!("Should not happen, bug in server impl");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use std::future::Future;
|
||||
use std::pin::Pin;
|
||||
use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
|
||||
use std::sync::Arc;
|
||||
|
@ -10,7 +11,7 @@ use actix_utils::counter::Counter;
|
|||
use futures_channel::mpsc::{unbounded, UnboundedReceiver, UnboundedSender};
|
||||
use futures_channel::oneshot;
|
||||
use futures_util::future::{join_all, LocalBoxFuture, MapOk};
|
||||
use futures_util::{future::Future, stream::Stream, FutureExt, TryFutureExt};
|
||||
use futures_util::{stream::Stream, FutureExt, TryFutureExt};
|
||||
use log::{error, info, trace};
|
||||
|
||||
use crate::service::{BoxedServerService, InternalServiceFactory, ServerMessage};
|
||||
|
|
Loading…
Reference in New Issue