update grpc to allow for configuring and created distributed nodes
This commit is contained in:
parent
630b44627c
commit
233ca92fd2
5 changed files with 167 additions and 34 deletions
|
@ -276,6 +276,22 @@ class CoreGrpcClient(object):
|
|||
request = core_pb2.SetSessionStateRequest(session_id=session_id, state=state)
|
||||
return self.stub.SetSessionState(request)
|
||||
|
||||
def add_session_server(self, session_id, name, host):
|
||||
"""
|
||||
Add distributed session server.
|
||||
|
||||
:param int session_id: id of session
|
||||
:param str name: name of server to add
|
||||
:param str host: host address to connect to
|
||||
:return: response with result of success or failure
|
||||
:rtype: core_pb2.AddSessionServerResponse
|
||||
:raises grpc.RpcError: when session doesn't exist
|
||||
"""
|
||||
request = core_pb2.AddSessionServerRequest(
|
||||
session_id=session_id, name=name, host=host
|
||||
)
|
||||
return self.stub.AddSessionServer(request)
|
||||
|
||||
def events(self, session_id, handler):
|
||||
"""
|
||||
Listen for session events.
|
||||
|
|
|
@ -473,6 +473,20 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
|||
session_proto = core_pb2.Session(state=session.state, nodes=nodes, links=links)
|
||||
return core_pb2.GetSessionResponse(session=session_proto)
|
||||
|
||||
def AddSessionServer(self, request, context):
|
||||
"""
|
||||
Add distributed server to a session.
|
||||
|
||||
:param core.api.grpc.core_pb2.AddSessionServerRequest request: get-session
|
||||
request
|
||||
:param grpc.ServicerContext context: context object
|
||||
:return: add session server response
|
||||
:rtype: core.api.grpc.core_bp2.AddSessionServerResponse
|
||||
"""
|
||||
session = self.get_session(request.session_id, context)
|
||||
session.distributed.add_server(request.name, request.host)
|
||||
return core_pb2.AddSessionServerResponse(result=True)
|
||||
|
||||
def Events(self, request, context):
|
||||
session = self.get_session(request.session_id, context)
|
||||
queue = Queue()
|
||||
|
@ -761,6 +775,8 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
|||
node_options.opaque = node_proto.opaque
|
||||
node_options.image = node_proto.image
|
||||
node_options.services = node_proto.services
|
||||
if node_proto.server:
|
||||
node_options.emulation_server = node_proto.server
|
||||
|
||||
position = node_proto.position
|
||||
node_options.set_position(position.x, position.y)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue