def main(self): while 1: if self.dataReady("control"): mes = self.recv("control") if isinstance(mes, shutdownMicroprocess) or isinstance(mes, producerFinished): self.send(producerFinished(), "signal") break if self.dataReady("forward"): m = self.recv("forward") self.send(Message.to_element(m), "outbox") if self.dataReady("inbox"): handled = False e = self.recv("inbox") self.send(('INCOMING', e), "log") msg_type = e.get_attribute_value(u'type') or 'normal' key = 'xmpp.%s' % unicode(msg_type) if key in self.outboxes: self.send(Message.from_element(e), key) handled = True if not handled: self.send(e, "unknown") if not self.anyReady(): self.pause() yield 1
def main(self): while 1: if self.dataReady("control"): mes = self.recv("control") if isinstance(mes, shutdownMicroprocess) or isinstance(mes, producerFinished): self.send(producerFinished(), "signal") break if self.dataReady("inbox"): m = self.recv("inbox") if m.bodies or m.subjects: m.swap_jids() self.send(Message.to_element(m), "outbox") if not self.anyReady(): self.pause() yield 1