/rust-book-multithreaded-web-server

The Rust Programming Language: 2nd Editionの20章を実装したリポジトリ

Primary LanguageRust

Final Project: Building a Multithreaded Web Server

日本訳: https://y-yu.github.io/trpl-2nd-pdf/book.pdf

実装ごとにコミット分けてあります。

20.1.1 TCP 接続をリッスンする

20.1.2 リクエストを読み取る

20.1.4 レスポンスを記述する

20.1.5 本物のHTMLを返す

20.1.6 リクエストにバリデーションをかけ、選択的にレスポンスを返す

20.1.7 リファクタリングの触り

20.2.1 現在のサーバの実装で遅いリクエストをシミュレーションする

20.2.2.1 各リクエストに対してスレッドを立ち上げられる場合のコードの構造

20.2.2.2 有限数のスレッド用に似たインターフェイスを作成する

20.2.2.3 コンパイラ駆動開発でThreadPool 構造体を構築する

20.2.2.4 newでスレッド数を検査する

20.2.2.5 スレッドを格納するスペースを生成する

20.2.2.6 ThreadPoolからスレッドにコードを送信する責任を負うWorker構造体

20.2.2.7 チャンネル経由でスレッドにリクエストを送信する

20.2.2.8 executeメソッドを実装する

20.3.1 ThreadPoolにDropトレイトを実装する

20.3.2 スレッドに仕事をリッスンするのを止めるよう通知する