複数のストリームをバッファリングするにはどうすればよいですか(各ストリームには独自のバッファが必要です)。複数のバッファ管理をCで
I私の頭の中で解決策を一緒に置くの並べ替え:
{
stream_id
buff_ptr
}
: これは理論である "擬似コード"
[ptr, ptr, ptr, ptr ... ]
各ptr
は、構造体へのポインタであります
stream_id
はストリームのIDです(私はその情報を持っていますrmation)、buff_ptr
は、一部のデータへのポインタです。また、バッファは、おそらく柔軟でなければならないであろうと、それは柔軟にするためにmalloc
とfree
多くを呼び出す必要があるだろう(少なくとも私は思うそれがでしょうか?
私は基本的に繰り返すことによって、私は必要なバッファを見つけるだろうptr
の配列によって。だから、
、私は「娘は彼女が?!という必要もないのはなぜ」誰もが疑問に思っている場合は、「アーキテクチャ」の良い、またはより良いがある?
ということですRuby/EventMachineでサーバーを作ったが、プロトコルは本当に腐っている(控えめに言って)と私はそれを扱う他の方法を知らない... EventMachineを強制的に私のためにそれをバッファする方法がない限り、それは最高のソリューションと思われる。
ありがとうございました。
P.S:レイヴに申し訳ありません! 〜
'stream_id'が' 0'から 'N'までの整数だった場合、' buff_ptr'の配列を使うことができ、 'struct'のリストを検索して必要なストリームを見つける必要がありません。 – hmjd
@hmjdああ、そうではありません。私はそれも最初であると思った。時にはそうであり、時にはそうではありません。本当に少しランダムです。そして、それは0で始まることはほとんどありません。実際には今、私はそれを考えています。 – omninonsense
'stream_id'のあらかじめ定義された範囲はありますか?もしあなたがスパース配列を使用することができたならば。 – hmjd