私のプログラムではStream
source
、バイトデータの共有ストリームからデータイベントを発行する読み取り可能があります。次に、データを解釈してBuffer
オブジェクトを抽出し、適切な関数に渡します。Buffer
s をプログラムの残りの部分に渡す最もエレガントな方法は、読み取り可能なStream
オブジェクトを使用することです。そうすれば、関数はストリームをスタンドアロン ストリームと同じように読み取ることができます。
これが私の現在のコードです:
var stream = new stream.Stream()
stream.readable = true
stream.pause = function () {
source.pause()
}
stream.resume = function () {
source.resume()
}
stream.readable = true
// in a loop, read the data from source stream, dissect the parts we want,
// and emit Buffer objects to the stream's data event.
どうすれば実装できsetEncoding
ますか?
編集:答えはstream.jsソースコードのこの行に関連していると思います
Stream.Readable = require('_stream_readable');
さらに、正解は
new stream.Stream
と置き換えnew stream.Readable
ますstream.emit('data', buffer)
またはの
いずれかstream.onread(buffer)
に置き換えますstream.push(buffer)
。事は、私はどちらか分からないということです。
編集:stream.Readable
バージョン 0.8 では使用できません。これは 0.9 ベータ版で利用可能で、v0.10 安定版がリリースされた時点で利用可能になります。この質問に対する理想的な答えは、0.8- ソリューションと 0.9+ ソリューションの両方を説明するものです。