MCPcopy Index your code
hub / github.com/apache/tvm / call_handler

Method call_handler

python/tvm/rpc/tracker.py:262–316  ·  view source on GitHub ↗

Event handler when json request arrives.

(self, args)

Source from the content-addressed store, hash-verified

260 self.write_message(data.encode("utf-8"), binary=True)
261
262 def call_handler(self, args):
263 """Event handler when json request arrives."""
264 code = args[0]
265 if code == TrackerCode.PUT:
266 key = args[1]
267 port, matchkey = args[2]
268 self.pending_matchkeys.add(matchkey)
269 # got custom address (from rpc server)
270 if len(args) >= 4 and args[3] is not None:
271 value = (self, args[3], port, matchkey)
272 else:
273 value = (self, self._addr[0], port, matchkey)
274 self._tracker.put(key, value)
275 self.put_values.append(value)
276 self.ret_value(TrackerCode.SUCCESS)
277 elif code == TrackerCode.REQUEST:
278 key = args[1]
279 user = args[2]
280 priority = args[3]
281
282 def _cb(value):
283 # if the connection is already closed
284 if not self._sock:
285 return False
286 try:
287 self.ret_value([TrackerCode.SUCCESS, value])
288 except OSError:
289 return False
290 return True
291
292 self._tracker.request(key, user, priority, _cb)
293 elif code == TrackerCode.PING:
294 self.ret_value(TrackerCode.SUCCESS)
295 elif code == TrackerCode.GET_PENDING_MATCHKEYS:
296 self.ret_value(list(self.pending_matchkeys))
297 elif code == TrackerCode.STOP:
298 # safe stop tracker
299 if self._tracker._stop_key == args[1]:
300 self.ret_value(TrackerCode.SUCCESS)
301 self._tracker.stop()
302 else:
303 self.ret_value(TrackerCode.FAIL)
304 elif code == TrackerCode.UPDATE_INFO:
305 info = args[1]
306 assert isinstance(info, dict)
307 if info["addr"][0] is None:
308 info["addr"][0] = self._addr[0]
309 self._info.update(info)
310 self.ret_value(TrackerCode.SUCCESS)
311 elif code == TrackerCode.SUMMARY:
312 status = self._tracker.summary()
313 self.ret_value([TrackerCode.SUCCESS, status])
314 else:
315 logger.warning("Unknown tracker code %d", code)
316 self.close()
317
318 def on_close(self):
319 self._tracker.close(self)

Callers 1

on_messageMethod · 0.95

Calls 9

ret_valueMethod · 0.95
stopMethod · 0.80
closeMethod · 0.65
addMethod · 0.45
putMethod · 0.45
appendMethod · 0.45
requestMethod · 0.45
updateMethod · 0.45
summaryMethod · 0.45

Tested by

no test coverage detected