ESTPとは
Environ and Stdio Transfer Protocol.
環境変数とstdin/stdoutのみを送受信するのに特化したプロトコル。
非常に単純なプロトコルなので、プロトコルが速度のボトルネックになる事はまず無いと思われる。
今のところ、Gauche以外で利用する事を考えられていない(が、将来は汎用プロトコルになる可能性はある)。
何に使うのか
コマンド実行またはそれに類する操作を行う際の内部データ転送に使う。
実装が不完全だが、より高速なFastCGIプロトコルとしても利用できる。
具体的には、speedygoshとestpdの内部プロトコルとして利用する為に開発された。
ライセンス
いちいち書くまでもないですが、Public Domainとします。
使いたいと思った方は好き勝手に使って下さい。
制限
- stderrのサポートは無し。将来にもESTPとして実装される予定は無し。但し、何らかの手段によって、ESTP外でやりとりするのであれば自由に行って問題は無い。
- ESTP内を更にレイヤを分け、stderrの送受信に対応させるのも可能だとは思うが、そこまでして対応すべきものだとも思えない。
- もし、どうしてもstderrのサポートが必要な場合、FastCGIプロトコルの使用を検討した方がいいような気がする。
- ESTPサーバ側から、ESTPクライアントのプロセス終了値(シェルでの$?の値)を操作する方法は、ESTPとしては提供されない。stderr同様、ESTP外で勝手にやりとりするのは自由。
- ESTPクライアントがSIGPIPE以外のシグナルを受け取った時に、ESTPサーバにそれを伝える手段は提供されない。が、stderr同様、ESTP外でやりとりするのは自由。
プロトコル仕様
最終更新 : 2007/05/25 06:09:15 JST