API2 add/modify experiment support.
This commit is contained in:
parent
3ba2b685b6
commit
cf2912e8a4
2 changed files with 82 additions and 12 deletions
|
@ -1395,6 +1395,7 @@ class CoreApi2RequestHandler(CoreRequestHandler):
|
|||
self.nodestatusreq = {}
|
||||
self.master = False
|
||||
self.session = None
|
||||
self.experiment = None
|
||||
self.verbose = bool(server.mainserver.cfg['verbose'].lower() == "true")
|
||||
self.debug = bool(server.mainserver.cfg['debug'].lower() == "true")
|
||||
SocketServer.BaseRequestHandler.__init__(self, request,
|
||||
|
@ -1414,7 +1415,7 @@ class CoreApi2RequestHandler(CoreRequestHandler):
|
|||
while True:
|
||||
try:
|
||||
data = self.recvmsg()
|
||||
msgs = apibridge.CoreApiBridge.Api2toLegacy(data)
|
||||
msgs = apibridge.CoreApiBridge.Api2toLegacy(data, self)
|
||||
if msgs:
|
||||
for msg in msgs:
|
||||
self.session.broadcast(self, msg)
|
||||
|
@ -1429,7 +1430,7 @@ class CoreApi2RequestHandler(CoreRequestHandler):
|
|||
''' Dispatch a reply to a previously received message.
|
||||
'''
|
||||
api2Replies = apibridge.CoreApiBridge.LegacytoApi2(
|
||||
replies, self.session.getstate())
|
||||
replies, self)
|
||||
if api2Replies:
|
||||
for reply in api2Replies:
|
||||
try:
|
||||
|
@ -1450,10 +1451,15 @@ class CoreApi2RequestHandler(CoreRequestHandler):
|
|||
for msg in msgs:
|
||||
self.request.sendall(msg)
|
||||
|
||||
|
||||
def finish(self):
|
||||
if self.verbose:
|
||||
self.info("API2 client disconnected")
|
||||
|
||||
if self.session:
|
||||
self.session.disconnect(self)
|
||||
return SocketServer.BaseRequestHandler.finish(self)
|
||||
|
||||
|
||||
def recvmsg(self):
|
||||
''' Receive data, parse a CoreMessage and queue it onto an existing
|
||||
session handler's queue, if available.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue