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