In article <1022831735.300849.19497.nullmailer / picachu.netlab.jp>,
  matz / ruby-lang.org (Yukihiro Matsumoto) writes:

> |ただ、「本当に欲しい」のは、むろん、Content-Length: に書くべき値なわけ
> |で、これは StringIO/Tempfile に貯めてあるものを socket にそのまま垂れ
> |流すようなコードが HTTP server にあるという状況では、IO#size (ないしは
> |File#size) のほうが必要なものだと思います。
> 
> まだわかってないのですが、
> 
>   * そのIO#sizeは場合によっては信頼できない(IOがソケットだっ
>     たりして)ものでも十分なのですか

想定した場合においては IO は Tempfile であることが想定されています。
なので、ソケットに対して使おうとは思っていません。

# うぅむ。Tempfile は委譲してるんだから「IO は Tempfile」というのは変
# か。

>   * その実装はflushしてstat.sizeという実装で十分なのですか

StringIO#stat がないので、これは足りません。データが小さいうちは
StringIO, 大きくなったら Tempfile にしたいので、StringIO と Tempfile
で多態に使える奴が欲しいのです。

>   * sizeメソッドが必要なのはこの場合は実はStringIOとTempfile
>     クラスだったりするのですか? それともそれは限定しすぎ?

想定した場合にはこれでも十分です。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)