D言語のStreamについての議論

D言語でのStreamが迷走している様子です。
2
前へ 1 ・・ 7 8 10 次へ
@satoru_h

あと,InputStream/OutputStreamって長い!twitterに書くときだけSource,Sink,(Bidirectional)Deviceって書こうかな.この辺の数人に通じればいいし.

2010-07-05 02:08:40
@Rayerd

@satoru_h Conduit!(I,O)はいわゆるInOutStreamのように見えますが入出力デバイスが別々になり得ます

2010-07-05 02:15:02
@satoru_h

@Rayerd なるほど,IとOでバッファを共有しないのですね.それが一本に見えることには利点がありますか?SocketStreamはread/writeでバッファを共有しないのですこし悩んでいた部分でもあります.

2010-07-05 02:17:14
@satoru_h

いや,実はSocketStreamはInputOutputStreamに見えなくてもいいかなぁ.と思い出したので.SocketInputStream(sock)とSocketOutputStream(sock)を作ればよくね?みたいな.

2010-07-05 02:18:03
@satoru_h

InputOutputStreamに見える(かつバッファが共有されていない)状態に利点が見出せない.

2010-07-05 02:18:47
@Rayerd

@satoru_h InOutStream[] ioss;の嬉しいところは異なる型のStreamをまとめられる点だと思いますが,ではなぜまとめたいのかを考えると,Conduitが欲しいのではないかと #d_lang

2010-07-05 02:20:55
@satoru_h

@Rayerd InOutStreamはInOutStreamの集合だととらえています.サーバ1対多クライアントのサーバが持つようなイメージ.StreamはSocketだろうがFileだろうがMemoryだろうが実装はそれを気にしなくていい.(続きます

2010-07-05 02:23:07
@satoru_h

@Rayerd ConduitがInStreamとOutStreamの組である.と言う状況はそれとは別な気もしますが.Conduitが不要だ!と言っているわけではなく,使い方が見えない.と言うことです.

2010-07-05 02:26:05
@satoru_h

ConduitはreadはInputStreamに,writeはOutputStreamに飛ばすProxyのようなもの.と解釈したのだけれど,あった方が便利なのか?よくわからん.

2010-07-05 02:28:09
@satoru_h

InputOutputStreamはInputとOutputでpositionや,バッファは共有されているべき!と思ってるんだよにゃぁ.InputOutputStreamを受け取って,それを操作する側で,バッファが共有/非共有名ものが混ざっているといろいろ面倒くさい気がしている.

2010-07-05 02:31:11
@satoru_h

@Rayerd ww In/Outでバッファが別れているなら見え方も別れていた方が分かりやすいのではないかと考えています.boost iostreamはその辺いろいろ種類があるみたいですが。。。

2010-07-05 02:33:57
@Rayerd

@satoru_h よくわからなくなったので話を戻すけど,StreamWrapperの役割は「(1)同型Streamをまとめる(2)異型Streamをまとめる」ではないということかな? #d_lang

2010-07-05 02:39:14
@Rayerd

@satoru_h 的にはInputStream(or OutputStream)同士をまとめることはあってもInputStreamとOutputStreamをまとめることはないと

2010-07-05 02:40:36
@Rayerd

これがよくわからなかった RT @satoru_h: @Rayerd InOutStreamはInOutStreamの集合だととらえています.サーバ1対多クライアントのサーバが持つようなイメージ.

2010-07-05 02:41:25
@satoru_h

@Rayerd いえ,ファイルなんかは本質的にInputOutputStreamですし,In & Out Streamとして使いたい場合もあると思います.バッファやpositionはIn/Outで共有されているので.Socketや,先ほどのConduitは共有されていない.

2010-07-05 02:42:52
@satoru_h

あぁ.InputOutputStreamとIn & Out Streamは同義です.頭がやばい...

2010-07-05 02:46:17
@Rayerd

@satoru_h うん,同意.ただConduitでのバッファ共有の是非はピンとこないな

2010-07-05 02:47:50
@satoru_h

InOutStreamが欲しい状況は確かにあると思います.ConduitはInOutStreamではなく,InStreamとOutStreamの組.であると考えます.なので,ConduitがInOutStreamに見えるのは気持ち悪いと.

2010-07-05 02:48:10
@satoru_h

バッファと言う表現が悪い気がしてきたけれど,通じているみたいなのでいいや.

2010-07-05 02:48:52
@satoru_h

@Rayerd InOutStreamの定義をどうするか.でしか無いとは思います.InOutStreamを受けて処理をする関数が,ファイルlikeなInOutStreamでなく,ソケットlikeなInOutStreamを欲しがる状況がわからないです.

2010-07-05 02:50:34
@satoru_h

@Rayerd ソケットlikeなInOutStreamはInStreamとOutStreamの組に置き換えられるし.

2010-07-05 02:51:04
@Rayerd

@satoru_h わかった.それが http://bit.ly/d9PMeI で述べた未知の場面だね.未知でも何でもない場面だけどw だから,InOutStream collectionも欲しいというわけだね #d_lang

2010-07-05 02:51:08
@satoru_h

@Rayerd InOutStream collectionに関してはそうです.欲しい場面は存在すると思います.

2010-07-05 02:53:03
@Rayerd

@satoru_h じゃあinterface InOutStream;も追加してもらう方向なのかな~

2010-07-05 02:56:27
@Rayerd

StreamWrapper!(InOutStream)[] ioss; というものを使うことになります #d_lang

2010-07-05 02:57:22
前へ 1 ・・ 7 8 10 次へ