class Channel(object): def __init__(self, name): self._name = name self._out = Out() self._in = In() self._in.fount.flowTo(self._out.drain) def participate(self, participant): @receiver(IMapping, IMapping) def addSender(item): yield dict(item, sender=participant, channel=self._name) return (self._out.newFount(), series(addSender, self._in.newDrain()))
def __init__(self, name): self._name = name self._out = Out() self._in = In() self._in.fount.flowTo(self._out.drain)