mirror of
https://github.com/actix/actix-website
synced 2025-09-02 09:36:40 +02:00
migrate to docusaurus (v2) (#266)
Co-authored-by: ibraheemdev <ibrah1440@gmail.com>
This commit is contained in:
38
docs/conn_lifecycle.md
Normal file
38
docs/conn_lifecycle.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: Connection Lifecycle
|
||||
---
|
||||
|
||||
# Architecture overview
|
||||
|
||||
After Server has started listening to all sockets, [`Accept`][accept] and [`Worker`][worker] are two main loops responsible for processing incoming client connections.
|
||||
|
||||
Once connection accepted Application level protocol processing happens in a protocol specific [`Dispatcher`][dispatcher] loop spawned from [`Worker`][worker].
|
||||
|
||||
Please note, below diagrams are outlining happy-path scenarios only.
|
||||
|
||||

|
||||
|
||||
## Accept loop in more detail
|
||||
|
||||

|
||||
|
||||
Most of code implementation resides in [`actix-server`][server] crate for struct [`Accept`][accept].
|
||||
|
||||
## Worker loop in more detail
|
||||
|
||||

|
||||
|
||||
Most of code implementation resides in [`actix-server`][server] crate for struct [`Worker`][worker].
|
||||
|
||||
## Request loop roughly
|
||||
|
||||

|
||||
|
||||
Most of code implementation for request loop resides in [`actix-web`][web] and [`actix-http`][http] crates.
|
||||
|
||||
[server]: https://crates.io/crates/actix-server
|
||||
[web]: https://crates.io/crates/actix-web
|
||||
[http]: https://crates.io/crates/actix-http
|
||||
[accept]: https://github.com/actix/actix-net/blob/master/actix-server/src/accept.rs
|
||||
[worker]: https://github.com/actix/actix-net/blob/master/actix-server/src/worker.rs
|
||||
[dispatcher]: https://github.com/actix/actix-web/blob/master/actix-http/src/h1/dispatcher.rs
|
Reference in New Issue
Block a user