mirror of
https://github.com/actix/actix-website
synced 2025-06-27 07:29:02 +02:00
TypeScript compatibility (#379)
* Update file extensions and exports for TypeScript compatibility * docs: fix typo in getting-started.md * chore: add no-trailing-punctuation rule to VS Code settings * feat: add @docusaurus/theme-mermaid for mermaid diagram support * Update import paths for MermaidDiagram component * remove redudndant check, use effect only runs after the component is mounted * Update docusaurus.config.ts to fix syntax error * bring back check because it's not possible to properly cancel a dynamic import * feat: optimize dynamic import in CodeBlock component * chore: update VS Code extensions.json with eslint recommendation * Update docusaurus.config.ts to add GitHub repository link in header
This commit is contained in:
@ -2,6 +2,12 @@
|
||||
title: Connection Lifecycle
|
||||
---
|
||||
|
||||
import MermaidDiagram from "@site/src/components/mermaid_diagram";
|
||||
import connection_overview from '!!raw-loader!@site/static/img/diagrams/connection_overview.mmd';
|
||||
import connection_accept from '!!raw-loader!@site/static/img/diagrams/connection_accept.mmd';
|
||||
import connection_worker from '!!raw-loader!@site/static/img/diagrams/connection_worker.mmd';
|
||||
import connection_request from '!!raw-loader!@site/static/img/diagrams/connection_request.mmd';
|
||||
|
||||
# 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.
|
||||
@ -10,23 +16,23 @@ Once connection accepted Application level protocol processing happens in a prot
|
||||
|
||||
Please note, below diagrams are outlining happy-path scenarios only.
|
||||
|
||||

|
||||
<MermaidDiagram value={connection_overview} />
|
||||
|
||||
## Accept loop in more detail
|
||||
|
||||

|
||||
<MermaidDiagram value={connection_accept} />
|
||||
|
||||
Most of code implementation resides in [`actix-server`][server] crate for struct [`Accept`][accept].
|
||||
|
||||
## Worker loop in more detail
|
||||
|
||||

|
||||
<MermaidDiagram value={connection_worker} />
|
||||
|
||||
Most of code implementation resides in [`actix-server`][server] crate for struct [`Worker`][worker].
|
||||
|
||||
## Request loop roughly
|
||||
|
||||

|
||||
<MermaidDiagram value={connection_request} />
|
||||
|
||||
Most of code implementation for request loop resides in [`actix-web`][web] and [`actix-http`][http] crates.
|
||||
|
||||
|
Reference in New Issue
Block a user