Connecting Producers and Consumers
Producers and consumers can be connected either point-to-point or through an event channel in the IDE. Connecting a producer directly to a consumer does not require an application and can be done in the sandbox:
from ossie.utils import sb
sb.catalog()
#['structs_test', 'm_in', 'prop_changes', 'm_out','pass']
prod=sb.launch("m_out")
cons=sb.launch("m_in")
prod.connect(cons)
#True
sb.start()
Output:
foo 1 hello
foo 1 hello
foo 1 hello
foo 1 hello
foo 1 hello
foo 1 hello
foo 1 hello
Connecting producers to consumers through an event channel requires an application. An application can also support point-to-point connections.
Below is a description of how to connect producers through point-to-point and through an event channel:
- Add producer and consumer components.
- For point-to-point messaging, connect the output
MessageEvent
port,message_out
in this example, to the inputMessageEvent
port of the receive component. For messaging via an event channel, add an event channel to the waveform and connect to it.
- In the waveform Diagram, under Palette > Find By:
- Select EventChannel and drag it onto the diagram. The New Event Channel dialog is displayed.
- Enter the event channel you want to find and click OK. The EventChannel is displayed in the diagram.
- Connect the Uses (Output)
MessageEvent
port of the sending component,message_out
in this example, to the event channel. - Connect the Uses (Output)
MessageEvent
port of the receiving component,message_in
, to the event channel. This is the black output port that must be connected to the event channel.
- In the waveform Diagram, under Palette > Find By:
In this example, connections are made point-to-point and through the event channel. Therefore, for every message sent, two messages are received.