1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#!/usr/bin/env python
from qpid import delegates
from qpid.connection010 import Connection
from qpid.util import connect, listen
from qpid.spec010 import load
from qpid.session import Client
from qpid.datatypes import Message
spec = load("../specs/amqp.0-10.xml")
class Server:
def connection(self, connection):
return delegates.Server(connection, self.session)
def session(self, session):
return SessionDelegate(session)
class SessionDelegate(Client):
def __init__(self, session):
self.session = session
def queue_declare(self, qd):
print "Queue %s declared..." % qd.queue
def queue_query(self, qq):
return qq.type.result.type.new((qq.queue,), {})
def message_transfer(self, cmd, headers, body):
m = Message(body)
m.headers = headers
self.session.message_transfer(cmd.destination, cmd.accept_mode, cmd.acquire_mode, m)
def message_accept(self, messages):
print "ACCEPT %s" % messages
server = Server()
for s in listen("0.0.0.0", spec.port):
conn = Connection(s, spec, server.connection)
conn.start(5)
|