Muga Nishizawa
@muga_nishizawa
@frsyuki あとは、typespec と namespace の記述が、リアルアプリとしてどれくらい煩雑になるかが気になります。namespace は thrift IDL の仕様もそうだけど。必要があれば別ファイルか何かに分けるとかですか。include(?)で。
2011-03-27 06:58:55
Sadayuki Furuhashi
@frsyuki
@muga_nishizawa namespaceはtypespec同様にファイルを分けてもいいし、IDL処理系のコマンドライン引数でも指定できれば十分かなーと思っています。
2011-03-27 07:03:36
Sadayuki Furuhashi
@frsyuki
$ idl-processor example.msgpspec --lang=ruby --namespace=Example とか。
2011-03-27 07:04:37
Sadayuki Furuhashi
@frsyuki
例外クラスのサブクラスでは、フィールドの追加しかできず、かつフィールドIDを明示しないといけない制約がある。なのでバージョンアップ時にスーパークラスにフィールドを追加したくなったら、サブクラスで使われていないフィールドIDしか使えない。ネスト表記はこのあたりの一覧性が若干良い。
2011-03-27 07:16:07
Sadayuki Furuhashi
@frsyuki
"コロンの後ろはバージョン番号であるというのをライブラリ側で理解しているのはポイントで、例えばバージョン番号の付いていないsetが呼ばれたら、自動的にset:0を呼ぶ。" http://bit.ly/ebd5TY
2011-03-27 07:17:54
Sadayuki Furuhashi
@frsyuki
複数の関数をひとまとめにした「プロファイル」と言うのを入れて、バージョン管理はプロファイルごとにするという案も。
2011-03-27 07:22:04
Sadayuki Furuhashi
@frsyuki
関数セットごとのバージョニングとRPCの名前空間の記述案を追加。http://bit.ly/e2exFx
2011-03-27 07:40:29
Sadayuki Furuhashi
@frsyuki
複数のserviceをまとめてapplicationを作る。関数の名前空間やバージョンはserviceごとに独立。
2011-03-27 07:41:58