Lines Matching refs:jn
67 join_type jn(g);
74 make_edge(buf1,input_port<0>(jn));
75 make_edge(bn,input_port<0>(jn)); // attach a broadcast_node
76 make_edge(buf2,input_port<1>(jn));
77 make_edge(jn, buf_out);
93 In the example above, port 0 of the reserving ``join_node`` ``jn`` has
119 ``bn`` attempts to forward 2 to ``jn``. ``jn`` does not accept the value
120 and the arc from ``bn`` to ``jn`` reverses. Because neither bn nor jn
122 ``jn`` have available predecessors, ``jn`` does nothing further.
148 ``buf1`` attempts to forward 3 to ``jn``. ``jn`` does not accept the
149 value and the arc from ``buf1`` to ``jn`` reverses. Because not all the
150 inputs to ``jn`` have available predecessors, ``jn`` does nothing
170 ``buf2`` attempts to forward 4 to ``jn``. ``jn`` does not accept the
171 value and the arc from ``buf2`` to ``jn`` reverses. Now both inputs of
172 ``jn`` have predecessors, a task to build and forward a message from
173 ``jn`` will be spawned. We assume that task is not yet executing.
192 ``buf2`` has no successor (because the arc to ``jn`` is reversed,) so it
206 Now the task spawned to run ``jn`` runs.
209 - ``jn`` tries to reserve ``bn``, which fails. The arc to ``bn``
211 - ``jn`` tries to reserve ``buf1``, which succeeds (reserved nodes are
212 colored grey.) ``jn`` receives the value 3 from ``buf1``, but it
214 ``jn`` fails.)
215 - ``jn`` tries to reserve ``buf2``, which succeeds. ``jn`` receives the
217 - ``jn`` constructs the output message ``tuple<3,4>``.
230 Now ``jn`` pushes its message to ``buf_out``, which accepts it. Because
231 the push succeeded, ``jn`` signals ``buf1`` and ``buf2`` that the
233 ``jn`` attempts to reserve again.
237 to ``jn`` is in push state.
238 - ``jn`` tries to reserve ``buf1``, which fails. The arc to ``buf1``
240 - ``jn`` does not try any further actions.