2

非同期 I/Oのmioライブラリは、発生したイベントをソースに関連付けるためにTokenインスタンスを提供する開発者に依存していTcpStreamますHandler::Timeout

実装からわかるように、Tokenは単なるラッパー型usizeです。Tokenが必要になるたびに単純にカウンターをインクリメントしたくなるかもしれませんが、最終的にはオーバーフローしてしまいます。

Tokensに渡すために生成するときに、どのようなルールを覚えておく必要がありEventLoopますか? 具体的な質問:

  • それぞれ独自の を持つ 2 つのスレッドがある場合EventLoop、両方を使用Token=0して 2 つの異なるストリームのイベントをリッスンできますか? (つまり、特定のインスタンスTokensにバインドされていますか?)EventLoop
  • を使用して aと pending のToken=0両方を同時に表すことはできますか? それとも両方とも同じトークンのコレクションに格納されていますか?TcpStreamTimeout
  • 0からにジャンプしても害はあります1,000,000か? (例: 連番用に最適化されたデータ構造に格納されていますか?)

ありがとう!

4

1 に答える 1