BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Node.jsの新しいStreaming API

Node.jsの新しいStreaming API

原文(投稿日:2013/01/21)へのリンク

 

GoogleのV8エンジン上に構築されたサーバーサイドのJavaScriptプラットフォームであるNode.jsの安定していない0.9.4リリースには、新しいStreaming APIが含まれている。"streams2"という愛称をつけられたそれは、0.10安定バージョンに含まれる予定になっている。

新しいAPIは、一時停止状態でストリームを開始することでデータロスから保護して、リスナーは、‘data’イベントを発行する前にアタッチされるまで待機する。また一時停止状態は、単にアドバイザリーである代わりに、いかなる‘data’イベントも発行しないことが保障される。新しいread()メソッドには、ストリームから任意のバイト数の読み込みや、ほかのプログラムで利用するために残りを捨てることが可能だ。

古いメソッドとイベントは、後方互換が維持されている:

'data'イベントハンドラーが追加されたとき、またはpause()かresume()メソッドが呼ばれたとき、読み可能なストリームが"old mode"に切り替わる。この効果は、もし新しいread()メソッドとreadable'イベントを使っていなかったとしても、チャンクを失う心配をする必要がなくなるということである。

エッジケースが導入された - ‘data’イベントハンドラが追加されず、pause()とresume()メソッドが呼ばれていないとき、ストリームは、‘end’イベントが発行されて、残りは停止し続ける。

新しいストリームの実装は、0.4リリースから議論されてきたが、より緊急度の高い問題が常にあって、後方互換を維持するのが難しいと考えられてきた。0.10では、問題は小さくなって、開発者はトライしてフィードバックを送ることが推奨されている。

Node.jsは、早く構築でき、ネットワークアプリケーションにスケーラブルに設計されており、Joyent, Incと同様にオープンソースコミュニティで開発され、Microsoft、LinkedIn、eBayといった企業で利用されている。

 

この記事に星をつける

おすすめ度
スタイル

BT