ITSUKI.
技術730 文字2 分

Day 16|TUI と App Server — 画面と処理の間にある橋

#Codex#ソースコードリーディング#図解

この章しょうの答こたえ

画面がめんの操作そうさは要求ようきゅうとして渡わたり、返答へんとうや通知つうちを受うけて表示ひょうじが変かわる。

画面がめんが動うごく仕組しくみと、エージェントが仕事しごとを進すすめる仕組しくみを分わけると、別べつの UI から同おなじ処理しょりを使つかいやすくなります。App Server の境界きょうかいでは、要求ようきゅうに対たいする返答へんとうと、処理中しょりちゅうに届とどく通知つうちを見分みわけます。

01|図でつかむ

図16|TUI と App Server

要求ようきゅうと返答へんとうだけでなく、進行しんこうを知しらせる通知つうちも UI の更新こうしんに使つかう。

02|3つのポイントで理解する

1. 入力イベントを送信へ結び付ける

TUI のイベント処理しょりから AppServerSession や Client の呼び出よびだしを探さがします。画面上がめんじょうの状態じょうたいが変かわる前まえに、どんな要求ようきゅうを送り出おくりだすかを確認かくにんします。

2. サーバー側の受付へ進む

MessageProcessor や request processor から Core につながる経路けいろを追おいます。UI のローカル状態じょうたいとサーバーが持もつ状態じょうたいは、別々べつべつに更新こうしんされることを意識いしきします。

3. 返答と通知を分けて扱う

公式こうしき App Server 文書ぶんしょでも、要求ようきゅう・応答おうとう・通知つうちのやり取とりが説明せつめいされています。応答おうとうを受うけて終おわる操作そうさと、通知つうちを継続けいぞくして反映はんえいする処理しょりを分わけると、表示ひょうじの遅おくれや同期どうきの問題もんだいを調しらべやすくなります。

03|ソースで確かめる

以下いかの検索けんさくは Codex リポジトリのルートで実行じっこうします。最初さいしょに対象たいしょう commit を記録きろくし、検索結果けんさくけっかから定義ていぎと呼び出よびだし元もとを一ひとつずつ開ひらいてください。

git rev-parse --short HEAD
rg -n "AppServerSession|AppServerEvent" codex-rs

読よむ入口いりぐち: codex-rs/tui/src/app_server_session.rs 。リンク先さきは照合しょうごうに使つかった固定こてい commit のファイルです。手元てもとの版はんと異ことなる場合ばあいは、上うえの検索語けんさくごから探さがし直なおします。

小さく試す

一ひとつの UI 操作そうさについて、要求ようきゅう名めい、サーバー側がわの処理しょり、返かえってくる通知つうちの受け取うけとり箇所かしょを探さがします。

04|30秒で復習

  • UI と作業さぎょう処理しょりは境界きょうかいで分わかれる。
  • 応答おうとうと通知つうちは役割やくわりが違ちがう。
  • 表示ひょうじ状態じょうたいとサーバー状態じょうたいの同期どうきを見みる。

全ぜん30章しょうの目次もくじへ