awips2/cotsSource/org.apache.qpid/python/server
root 3360eb6c5f Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: 9f19e3f712 [formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]
Former-commit-id: 06a8b51d6d
2012-01-06 08:55:05 -06:00

80 lines
2.1 KiB
Python
Executable file

#!/usr/bin/env python
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
import qpid
from qpid.connection import Connection, listen
from qpid.delegate import Delegate
from qpid.peer import Peer
from qpid import Struct
class Server(Delegate):
def __init__(self):
Delegate.__init__(self)
self.queues = {}
self.bindings = {}
def connection_open(self, ch, msg):
msg.open_ok()
def session_open(self, ch, msg):
print "session open on channel %s" % ch.id
msg.attached()
def execution_flush(self, ch, msg):
pass
def queue_declare(self, ch, msg):
self.queues[msg.queue] = []
print "queue declared: %s" % msg.queue
msg.complete()
def queue_bind(self, ch, msg):
if self.bindings.has_key(msg.exchange):
queues = self.bindings[msg.exchange]
else:
queues = set()
self.bindings[msg.exchange] = queues
queues.add((msg.routing_key, msg.queue))
msg.complete()
def queue_query(self, ch, msg):
st = Struct(msg.method.result)
ch.execution_result(msg.command_id, st)
msg.complete()
def message_subscribe(self, ch, msg):
print msg
msg.complete()
def message_transfer(self, ch, msg):
print msg.content
msg.complete()
spec = qpid.spec.load("../specs/amqp.0-10-preview.xml")
for io in listen("0.0.0.0", 5672):
c = Connection(io, spec)
p = Peer(c, Server())
c.tini()
p.start()
ch = p.channel(0)
ch.connection_start()
ch.connection_tune()