mirror of
https://github.com/fafhrd91/actix-net
synced 2025-01-19 00:31:50 +01:00
move server impl to sub module
This commit is contained in:
parent
56b31960f1
commit
dc50268c8a
@ -32,12 +32,12 @@ script:
|
|||||||
- |
|
- |
|
||||||
if [[ "$TRAVIS_RUST_VERSION" != "stable" ]]; then
|
if [[ "$TRAVIS_RUST_VERSION" != "stable" ]]; then
|
||||||
cargo clean
|
cargo clean
|
||||||
cargo test --features="ssl,tls,rust-tls" -- --nocapture
|
cargo test --features="ssl" -- --nocapture
|
||||||
fi
|
fi
|
||||||
- |
|
- |
|
||||||
if [[ "$TRAVIS_RUST_VERSION" == "stable" ]]; then
|
if [[ "$TRAVIS_RUST_VERSION" == "stable" ]]; then
|
||||||
RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install -f cargo-tarpaulin
|
RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install -f cargo-tarpaulin
|
||||||
cargo tarpaulin --features="ssl,tls,rust-tls" --out Xml --no-count
|
cargo tarpaulin --features="ssl" --out Xml --no-count
|
||||||
bash <(curl -s https://codecov.io/bash)
|
bash <(curl -s https://codecov.io/bash)
|
||||||
echo "Uploaded code coverage"
|
echo "Uploaded code coverage"
|
||||||
fi
|
fi
|
||||||
@ -46,7 +46,7 @@ script:
|
|||||||
after_success:
|
after_success:
|
||||||
- |
|
- |
|
||||||
if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_PULL_REQUEST" = "false" && "$TRAVIS_BRANCH" == "master" && "$TRAVIS_RUST_VERSION" == "beta" ]]; then
|
if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_PULL_REQUEST" = "false" && "$TRAVIS_BRANCH" == "master" && "$TRAVIS_RUST_VERSION" == "beta" ]]; then
|
||||||
cargo doc --features "ssl, tls, rust-tls, session" --no-deps &&
|
cargo doc --features "ssl" --no-deps &&
|
||||||
echo "<meta http-equiv=refresh content=0;url=os_balloon/index.html>" > target/doc/index.html &&
|
echo "<meta http-equiv=refresh content=0;url=os_balloon/index.html>" > target/doc/index.html &&
|
||||||
git clone https://github.com/davisp/ghp-import.git &&
|
git clone https://github.com/davisp/ghp-import.git &&
|
||||||
./ghp-import/ghp_import.py -n -p -f -m "Documentation upload" -r https://"$GH_TOKEN"@github.com/"$TRAVIS_REPO_SLUG.git" target/doc &&
|
./ghp-import/ghp_import.py -n -p -f -m "Documentation upload" -r https://"$GH_TOKEN"@github.com/"$TRAVIS_REPO_SLUG.git" target/doc &&
|
||||||
|
33
src/lib.rs
33
src/lib.rs
@ -57,47 +57,14 @@ extern crate webpki;
|
|||||||
#[cfg(feature = "rust-tls")]
|
#[cfg(feature = "rust-tls")]
|
||||||
extern crate webpki_roots;
|
extern crate webpki_roots;
|
||||||
|
|
||||||
use actix::Message;
|
|
||||||
|
|
||||||
/// re-export for convinience
|
/// re-export for convinience
|
||||||
pub use tower_service::{NewService, Service};
|
pub use tower_service::{NewService, Service};
|
||||||
|
|
||||||
pub(crate) mod accept;
|
|
||||||
pub mod connector;
|
pub mod connector;
|
||||||
pub mod resolver;
|
pub mod resolver;
|
||||||
pub mod server;
|
pub mod server;
|
||||||
mod server_service;
|
|
||||||
pub mod service;
|
pub mod service;
|
||||||
pub mod ssl;
|
pub mod ssl;
|
||||||
pub mod stream;
|
pub mod stream;
|
||||||
mod worker;
|
|
||||||
|
|
||||||
pub use server::Server;
|
|
||||||
pub use service::{IntoNewService, IntoService, NewServiceExt, ServiceExt};
|
pub use service::{IntoNewService, IntoService, NewServiceExt, ServiceExt};
|
||||||
|
|
||||||
/// Pause accepting incoming connections
|
|
||||||
///
|
|
||||||
/// If socket contains some pending connection, they might be dropped.
|
|
||||||
/// All opened connection remains active.
|
|
||||||
#[derive(Message)]
|
|
||||||
pub struct PauseServer;
|
|
||||||
|
|
||||||
/// Resume accepting incoming connections
|
|
||||||
#[derive(Message)]
|
|
||||||
pub struct ResumeServer;
|
|
||||||
|
|
||||||
/// Stop incoming connection processing, stop all workers and exit.
|
|
||||||
///
|
|
||||||
/// If server starts with `spawn()` method, then spawned thread get terminated.
|
|
||||||
pub struct StopServer {
|
|
||||||
/// Whether to try and shut down gracefully
|
|
||||||
pub graceful: bool,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Message for StopServer {
|
|
||||||
type Result = Result<(), ()>;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Socket id token
|
|
||||||
#[derive(Clone, Copy)]
|
|
||||||
pub(crate) struct Token(usize);
|
|
||||||
|
40
src/server/mod.rs
Normal file
40
src/server/mod.rs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
//! General purpose networking server
|
||||||
|
|
||||||
|
use actix::Message;
|
||||||
|
|
||||||
|
mod accept;
|
||||||
|
mod server;
|
||||||
|
mod services;
|
||||||
|
mod worker;
|
||||||
|
|
||||||
|
pub use self::server::Server;
|
||||||
|
pub use self::services::ServerServiceFactory;
|
||||||
|
|
||||||
|
pub(crate) use self::worker::Connections;
|
||||||
|
|
||||||
|
/// Pause accepting incoming connections
|
||||||
|
///
|
||||||
|
/// If socket contains some pending connection, they might be dropped.
|
||||||
|
/// All opened connection remains active.
|
||||||
|
#[derive(Message)]
|
||||||
|
pub struct PauseServer;
|
||||||
|
|
||||||
|
/// Resume accepting incoming connections
|
||||||
|
#[derive(Message)]
|
||||||
|
pub struct ResumeServer;
|
||||||
|
|
||||||
|
/// Stop incoming connection processing, stop all workers and exit.
|
||||||
|
///
|
||||||
|
/// If server starts with `spawn()` method, then spawned thread get terminated.
|
||||||
|
pub struct StopServer {
|
||||||
|
/// Whether to try and shut down gracefully
|
||||||
|
pub graceful: bool,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Message for StopServer {
|
||||||
|
type Result = Result<(), ()>;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Socket id token
|
||||||
|
#[derive(Clone, Copy)]
|
||||||
|
pub(crate) struct Token(usize);
|
@ -11,10 +11,8 @@ use actix::{
|
|||||||
Response, StreamHandler, System, WrapFuture,
|
Response, StreamHandler, System, WrapFuture,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub use super::server_service::ServerServiceFactory;
|
|
||||||
|
|
||||||
use super::accept::{AcceptLoop, AcceptNotify, Command};
|
use super::accept::{AcceptLoop, AcceptNotify, Command};
|
||||||
use super::server_service::{InternalServerServiceFactory, ServerNewService};
|
use super::services::{InternalServerServiceFactory, ServerNewService, ServerServiceFactory};
|
||||||
use super::worker::{self, Conn, StopWorker, Worker, WorkerAvailability, WorkerClient};
|
use super::worker::{self, Conn, StopWorker, Worker, WorkerAvailability, WorkerClient};
|
||||||
use super::{PauseServer, ResumeServer, StopServer, Token};
|
use super::{PauseServer, ResumeServer, StopServer, Token};
|
||||||
|
|
@ -5,7 +5,7 @@ use futures::{Future, Poll};
|
|||||||
use tokio_reactor::Handle;
|
use tokio_reactor::Handle;
|
||||||
use tokio_tcp::TcpStream;
|
use tokio_tcp::TcpStream;
|
||||||
|
|
||||||
use super::{NewService, Service};
|
use {NewService, Service};
|
||||||
|
|
||||||
pub enum ServerMessage {
|
pub enum ServerMessage {
|
||||||
Connect(net::TcpStream),
|
Connect(net::TcpStream),
|
@ -17,7 +17,7 @@ use actix::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
use super::accept::AcceptNotify;
|
use super::accept::AcceptNotify;
|
||||||
use super::server_service::{BoxedServerService, InternalServerServiceFactory, ServerMessage};
|
use super::services::{BoxedServerService, InternalServerServiceFactory, ServerMessage};
|
||||||
use super::Token;
|
use super::Token;
|
||||||
|
|
||||||
#[derive(Message)]
|
#[derive(Message)]
|
@ -1,7 +1,7 @@
|
|||||||
//! SSL Services
|
//! SSL Services
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||||
|
|
||||||
use super::worker::Connections;
|
use super::server::Connections;
|
||||||
|
|
||||||
#[cfg(feature = "ssl")]
|
#[cfg(feature = "ssl")]
|
||||||
mod openssl;
|
mod openssl;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user