#!/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)