STDINにNSInputStreamを提供するクラスにアクセサーを提供したいと思います。これは、数百メガバイト(または、おそらくありそうもないですが、ギガバイト)のデータである可能性があります。
呼び出し元がこのNSInputStreamを取得すると、含まれているデータを使い果たすことを心配せずに、そこから読み取ることができるはずです。言い換えると、コードの別のブロックがNSInputStreamを要求し、そこから読み取ることができることを期待する場合があります。
最初にすべてのデータをNSDataオブジェクトにコピーしないと(私は)メモリの枯渇を引き起こすと思いますが、これを処理するための私のオプションは何ですか?返されるNSInputStreamは同じインスタンスである必要はなく、単に同じデータを提供する必要があります。
私が今思いつくことができる最善の方法は、STDINを一時ファイルにコピーしてから、そのファイルを使用してNSInputStreamインスタンスを返すことです。これはそれを処理するためのほとんど唯一の方法ですか?一時ファイルルートを使用する場合に注意すべき点はありますか?
編集| 言及する必要がありますが、これは実際にはSTDINではなく、マルチスレッドFastCGIアプリケーションにあり、FCGX_Request.in
STDINからのストリームです。