API2 add/modify experiment support.

This commit is contained in:
Rod A Santiago 2016-08-10 17:27:15 -07:00
parent 3ba2b685b6
commit cf2912e8a4
2 changed files with 82 additions and 12 deletions

View file

@ -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.