Move some stuff into doc/

This won't end up in the final patch set, just leave here for now. Also
makes nose ignore the test code.
This commit is contained in:
Mark McLoughlin 2013-06-09 14:45:50 +01:00
parent 6929a72987
commit 95119398e2
4 changed files with 110 additions and 0 deletions

View File

@ -0,0 +1,57 @@
import socket
import threading
from oslo.config import cfg
from openstack.common import log as logging
from openstack.common import messaging
logging.setup('test-blocking')
_opts = [
cfg.StrOpt('host', default=socket.gethostname()),
]
CONF = cfg.CONF
CONF.register_opts(_opts)
class Server(messaging.BlockingRPCServer):
def __init__(self, transport):
target = messaging.Target(topic='testtopic',
server=transport.conf.host,
version='2.5')
super(Server, self).__init__(transport, target, [self])
def test(self, ctxt, arg):
self.stop()
return arg
transport = messaging.get_transport(CONF, 'fake:///testexchange')
server = Server(transport)
def server_thread(server):
server.start()
thread = threading.Thread(target=server_thread, args=[server])
thread.daemon = True
thread.start()
class Client(messaging.RPCClient):
def __init__(self, transport):
target = messaging.Target(topic='testtopic', version='2.0')
super(Client, self).__init__(transport, target)
def test(self, ctxt, arg):
cctxt = self.prepare(version='2.5')
return cctxt.call(ctxt, 'test', arg=arg)
client = Client(transport)
print client.test({'c': 'b'}, 'foo')
while thread.isAlive():
thread.join(.05)

View File

@ -0,0 +1,53 @@
import eventlet
eventlet.monkey_patch(os=False)
import socket
from oslo.config import cfg
from openstack.common import log as logging
from openstack.common import messaging
from openstack.common.messaging import eventlet as evmsg
logging.setup('test-eventlet')
_opts = [
cfg.StrOpt('host', default=socket.gethostname()),
]
CONF = cfg.CONF
CONF.register_opts(_opts)
class Server(evmsg.EventletRPCServer):
def __init__(self, transport):
target = messaging.Target(topic='testtopic',
server=transport.conf.host,
version='2.5')
super(Server, self).__init__(transport, target, [self])
def test(self, ctxt, arg):
return arg
transport = messaging.get_transport(CONF, 'fake:///testexchange')
server = Server(transport)
server.start()
class Client(messaging.RPCClient):
def __init__(self, transport):
target = messaging.Target(topic='testtopic', version='2.0')
super(Client, self).__init__(transport, target)
def test(self, ctxt, arg):
cctxt = self.prepare(version='2.5')
return cctxt.call(ctxt, 'test', arg=arg)
client = Client(transport)
print client.test({'c': 'b'}, 'foo')