私がlibeventで作成したほとんどのアプリケーションには、1つの読み取りコールバックが含まれています。新しい接続が要求に対して開かれたときは、::event_new()
という新しいイベントを割り振り、::event_add()
libeventでコールバックを共有する方法
しかし、この問題は、新しいリクエストが開かれるたびにメモリを割り当ててイベントループに追加することです。実際にはファイル記述子のコールバックとイベントを共有する必要があります。許可されたメモリ割り当てはそのようなアプリケーションのボトルネックではありません。libeventは複数のファイル記述子でイベントを共有する方法を提供していますか?
あなたの質問で「ファイル記述子の共有コールバックとイベント」とは何を意味していますか?処理のために接続の状態を保存するためには、メモリの割り当てが避けられません。 'event'は他のイベントと全く異なる状態を持っています。異なる機能を実現するためにどのように共有できますか?そして、 'ファイルディスクリプタ'が使用されていない(閉じられている)ときは 'select'、' poll'、 'epoll'などのためにOSで再利用されます。何をしたいのですか? – Azeem
@Azeem私が読んだすべてのイベントは、彼らが待っているファイル記述子を除いて同じであるので尋ねた – Curious
コード例を挙げることはできますか?いくつかのサポートコード例で質問をうまく編集してください。 – Azeem