def subscribeToPlugsplitter(self, plugsplitter): forwarder = Forwarder() plug = Plug(plugsplitter, forwarder) plug.activate() outsideForwarder = Forwarder() plug.link((plug, 'outbox'), (outsideForwarder, 'secondary-inbox')) plug.link((plug, 'signal'), (outsideForwarder, 'secondary-control')) return outsideForwarder
def linkChildToInternalSplitter(self, child): forwarder = Forwarder() plug = Plug(self.internalSplitter, forwarder) plug.activate() plug.link((plug, 'signal'), (child, 'control')) child.link((child, 'signal'), (plug, 'control'))
producer = Producer() mysplitter = PlugSplitter() pipe = Pipeline(producer, mysplitter) Plug(mysplitter, Consumer("consumerA") ).activate() Plug(mysplitter, Consumer("consumerB") ).activate() pipe.run() if 1: mysplitter = PlugSplitter() pipe = Pipeline( Producer(), mysplitter ) forwarder1 = Forwarder("forwarder") plug1 = Plug(mysplitter,forwarder1) plug1.activate() forwarder1b = Forwarder("forwarder1b") plug1.link((plug1,'outbox'),(forwarder1b,'secondary-inbox')) plug1.link((plug1,'signal'),(forwarder1b,'secondary-control')) consumer1 = Consumer("consumer1") Pipeline( forwarder1b, consumer1 ).activate() forwarder2 = Forwarder("forwarder2") plug2 = Plug(mysplitter, forwarder2) plug2.activate() forwarder2b = Forwarder("forwarder2b")
producer = Producer() mysplitter = PlugSplitter() pipe = Pipeline(producer, mysplitter) Plug(mysplitter, Consumer("consumerA")).activate() Plug(mysplitter, Consumer("consumerB")).activate() pipe.run() if 1: mysplitter = PlugSplitter() pipe = Pipeline(Producer(), mysplitter) forwarder1 = Forwarder("forwarder") plug1 = Plug(mysplitter, forwarder1) plug1.activate() forwarder1b = Forwarder("forwarder1b") plug1.link((plug1, 'outbox'), (forwarder1b, 'secondary-inbox')) plug1.link((plug1, 'signal'), (forwarder1b, 'secondary-control')) consumer1 = Consumer("consumer1") Pipeline(forwarder1b, consumer1).activate() forwarder2 = Forwarder("forwarder2") plug2 = Plug(mysplitter, forwarder2) plug2.activate() forwarder2b = Forwarder("forwarder2b") plug2.link((plug2, 'outbox'), (forwarder2b, 'secondary-inbox')) plug2.link((plug2, 'signal'), (forwarder2b, 'secondary-control')) consumer2 = Consumer("consumer2")