add rpc server/client
Change-Id: I1f3573f2a2dabb454e3ec83a90a7ee3a78660e73
This commit is contained in:
parent
c009cff9a4
commit
529ae5d5f1
13
scalpels/rpc/client.py
Normal file
13
scalpels/rpc/client.py
Normal file
@ -0,0 +1,13 @@
|
||||
import oslo_messaging as messaging
|
||||
from oslo_config import cfg
|
||||
class TestClient(object):
|
||||
|
||||
def __init__(self, transport):
|
||||
target = messaging.Target(topic='test', version='2.0')
|
||||
self._client = messaging.RPCClient(transport, target)
|
||||
|
||||
def test(self, ctxt, arg):
|
||||
return self._client.call(ctxt, 'test', arg=arg)
|
||||
|
||||
transport = messaging.get_transport(cfg.CONF)
|
||||
print TestClient(transport).test({"ctx":"this is context"}, 'ping')
|
31
scalpels/rpc/server.py
Normal file
31
scalpels/rpc/server.py
Normal file
@ -0,0 +1,31 @@
|
||||
from oslo_config import cfg
|
||||
import oslo_messaging
|
||||
|
||||
class ServerControlEndpoint(object):
|
||||
|
||||
#target = oslo_messaging.Target(namespace='control', version='2.0')
|
||||
target = oslo_messaging.Target(topic="test", version='2.0')
|
||||
|
||||
def __init__(self, server):
|
||||
self.server = server
|
||||
|
||||
def stop(self, ctx):
|
||||
if server:
|
||||
self.server.stop()
|
||||
|
||||
class TestEndpoint(object):
|
||||
|
||||
target = oslo_messaging.Target(topic="test", version='2.0')
|
||||
def test(self, ctx, arg):
|
||||
return arg
|
||||
|
||||
transport = oslo_messaging.get_transport(cfg.CONF)
|
||||
target = oslo_messaging.Target(topic='test', server='localhost')
|
||||
endpoints = [
|
||||
ServerControlEndpoint(None),
|
||||
TestEndpoint(),
|
||||
]
|
||||
server = oslo_messaging.get_rpc_server(transport, target, endpoints,
|
||||
executor='blocking')
|
||||
server.start()
|
||||
server.wait()
|
Loading…
x
Reference in New Issue
Block a user