0
私はこのようなものを作りたいと思っています:回線交換のためのデータ構造?
私は、メッセージの流れのために「回線交換」のような機能を果たすモジュールを持っています。つまり、単一のインポートと複数のアウトポートがあります。メッセージがインポートに到着すると、いくつかのロジックに基づいてアウトポートが選択されます(ロジックは質問の文脈では重要ではありません)。アウトポートに進行中のメッセージ転送があるかどうかがチェックされます(最初のメッセージの場合は、何もありません)。転送がない場合、そのアウトポートにメッセージが送信されます。それ以外の場合は、特定のアウトポートのキューに保持されます。私はこのコミュニケーションのためのデータ構造を決定する必要があります。助けてください
私の考えは、アウトポートと対応するキューのマップを持つことです。
queue<message> m_incoming_queue;
typedef map<outport*,m_incoming_queue> transaction_map
これは良い解決策であれば、実行時にキューを作成する方法を知りたいのですが?私は、アウトポートがいくつあるかを事前に知っていないので、要件に基づいてアウトポートを作成します。
は、多分あなたは非常に素晴らしい軽量なメッセージフレームワークhttp://www.zeromq.org/を見てしたいと思います。 – snies