MCPcopy Create free account
hub / github.com/apache/qpid-proton / TxServer

Class TxServer

python/examples/server_tx.py:45–73  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43
44
45class TxServer(MessagingHandler):
46 def __init__(self, host, address):
47 super(TxServer, self).__init__(auto_accept=False)
48 self.host = host
49 self.address = address
50
51 def on_start(self, event):
52 self.container = event.container
53 self.conn = event.container.connect(self.host, reconnect=False, desired_capabilities=["ANONYMOUS-RELAY"])
54 self.receiver = event.container.create_receiver(self.conn, self.address)
55 self.senders = {}
56 self.relay = None
57
58 def on_message(self, event):
59 sender = self.relay
60 if not sender:
61 sender = self.senders.get(event.message.reply_to)
62 if not sender:
63 sender = self.container.create_sender(self.conn, event.message.reply_to)
64 self.senders[event.message.reply_to] = sender
65
66 response = Message(address=event.message.reply_to, body=event.message.body.upper(),
67 correlation_id=event.message.correlation_id)
68 self.container.declare_transaction(self.conn, handler=TxRequest(response, sender, event.delivery))
69
70 def on_connection_opened(self, event):
71 capabilities = event.connection.remote_offered_capabilities
72 if capabilities and 'ANONYMOUS-RELAY' in capabilities:
73 self.relay = self.container.create_sender(self.conn, None)
74
75
76try:

Callers 1

server_tx.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected