FrontPage
まずは、メモ書き程度で更新していきます
Stackの設計の第一歩 †
- TU
- リゾルバを入れる
- メッセージの配送先を決定する。
- 対 proxy 用
- forking を考慮する必要あり。
- cancel 処理
- stack
- Transport と分離
- Transport リゾルバ
- まずは state machine から実装
- トランザクションはなんの情報を入れるか?
- 必要機能
- Route (削る)
- Record Route (つける)
- Via
- From/To Tag
- Max-Forward
- Loop Detect
support †
概念図 †
+------------------+ +---+
| User Agent | | |
+------------------+ | |
+------------------+ | |
| Transaction User | | |
+------------------+ | |
+------------------+ | |
| Transaction | | |
+------------------+ | |
+--------------------+ |
| Message Parser/Builder |
+------------------------+
+------------------------+
| Transport |
+------------------------+
Transport Powered by MINA †
概要 †
- トランスポートのIO(TCP/UDP)はIoAcceptorなるもので抽象化されていて、
これは放置でOKっぽいかんぢ。
- 注目するのが、Filterちゃんからの連携。ここからがかなりオモシロ系
- Message(SIPMessage, PIPMessage)のEnc/Decを用意すれば、IoHanderで一発でMessageが取れる
- セッション管理はIoSessionなるインタフェイスを使って、実装すれば問題なっしんぐ、ステートパターンを入れ込んで、基本的な状態管理は実装して、セッションは、よろしく管理してくれる
- NIOが下位レイヤーで実装済
SVN Repository構成 †
- 雷電用に「raiden」を切った
- 開発バージョン用に「testing」を切った