1
0
mirror of https://github.com/fafhrd91/actix-net synced 2025-01-18 20:01:48 +01:00

move server impl to sub module

This commit is contained in:
Nikolay Kim 2018-09-11 08:43:23 -07:00
parent 56b31960f1
commit dc50268c8a
8 changed files with 47 additions and 42 deletions

View File

@ -32,12 +32,12 @@ script:
- |
if [[ "$TRAVIS_RUST_VERSION" != "stable" ]]; then
cargo clean
cargo test --features="ssl,tls,rust-tls" -- --nocapture
cargo test --features="ssl" -- --nocapture
fi
- |
if [[ "$TRAVIS_RUST_VERSION" == "stable" ]]; then
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)
echo "Uploaded code coverage"
fi
@ -46,7 +46,7 @@ script:
after_success:
- |
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 &&
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 &&

View File

@ -57,47 +57,14 @@ extern crate webpki;
#[cfg(feature = "rust-tls")]
extern crate webpki_roots;
use actix::Message;
/// re-export for convinience
pub use tower_service::{NewService, Service};
pub(crate) mod accept;
pub mod connector;
pub mod resolver;
pub mod server;
mod server_service;
pub mod service;
pub mod ssl;
pub mod stream;
mod worker;
pub use server::Server;
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
View 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);

View File

@ -11,10 +11,8 @@ use actix::{
Response, StreamHandler, System, WrapFuture,
};
pub use super::server_service::ServerServiceFactory;
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::{PauseServer, ResumeServer, StopServer, Token};

View File

@ -5,7 +5,7 @@ use futures::{Future, Poll};
use tokio_reactor::Handle;
use tokio_tcp::TcpStream;
use super::{NewService, Service};
use {NewService, Service};
pub enum ServerMessage {
Connect(net::TcpStream),

View File

@ -17,7 +17,7 @@ use actix::{
};
use super::accept::AcceptNotify;
use super::server_service::{BoxedServerService, InternalServerServiceFactory, ServerMessage};
use super::services::{BoxedServerService, InternalServerServiceFactory, ServerMessage};
use super::Token;
#[derive(Message)]

View File

@ -1,7 +1,7 @@
//! SSL Services
use std::sync::atomic::{AtomicUsize, Ordering};
use super::worker::Connections;
use super::server::Connections;
#[cfg(feature = "ssl")]
mod openssl;