インテル® TBB の flow::graph で、サクセサーにメッセージを転送するノードは、プロパティーにおいて次の 2 つの転送ポリシーのいずれかが指定されています。
サクセサーに push できないメッセージを処理するためのポリシーは 2 つあります。
ノードがメッセージの受信を処理するためのポリシーは 2 つあります。
以下の表は、各ノードのポリシーの一覧です。
ノード |
受信ポリシー |
try_get()? |
try_reserve()? |
転送 |
---|---|---|---|---|
機能ノード |
||||
source_node |
-- |
○ |
○ |
broadcast-push |
function_node<rejecting> |
accept/switch |
X |
X |
broadcast-push |
function_node<queueing> |
accept |
X |
X |
broadcast-push |
continue_node |
accept |
X |
X |
broadcast-push |
multifunction_node<rejecting> |
accept/switch |
X |
X |
broadcast-push |
multifunction_node<queueing> |
accept |
X |
X |
broadcast-push |
バッファーノード |
||||
buffer_node |
accept |
○ |
○ |
single-push |
priority_queue_node |
accept |
○ |
○ |
single-push |
queue_node |
accept |
○ |
○ |
single-push |
sequencer_node |
accept |
○ |
○ |
single-push |
overwrite_node |
accept |
○ |
X |
broadcast-push |
write_once_node |
accept once |
○ |
X |
broadcast-push |
分割/結合ノード |
||||
join_node<queueing> |
accept |
○ |
X |
broadcast-push |
join_node<reserving> |
switch |
○ |
X |
broadcast-push |
join_node<tag_matching> |
accept |
○ |
X |
broadcast-push |
split_node |
accept |
X |
X |
broadcast-push |
indexer_node |
accept |
X |
X |
broadcast-push |
その他のノード |
||||
broadcast_node |
accept |
X |
X |
broadcast-push |
limiter_node |
accept/switch |
X |
X |
broadcast-push |