MCPcopy Create free account
hub / github.com/apache/tvm / ProxyServerHandler

Class ProxyServerHandler

python/tvm/rpc/proxy.py:242–478  ·  view source on GitHub ↗

Internal proxy server handler class.

Source from the content-addressed store, hash-verified

240
241
242class ProxyServerHandler:
243 """Internal proxy server handler class."""
244
245 current = None
246
247 def __init__(
248 self,
249 sock,
250 listen_port,
251 web_port,
252 timeout_client,
253 timeout_server,
254 tracker_addr,
255 index_page=None,
256 resource_files=None,
257 ):
258 assert ProxyServerHandler.current is None
259 ProxyServerHandler.current = self
260 if web_port:
261 handlers = [(r"/ws", WebSocketHandler)]
262 if index_page:
263 handlers.append(
264 (r"/", RequestHandler, {"file_path": index_page, "rpc_web_port": web_port})
265 )
266 logging.info("Serving RPC index html page at http://localhost:%d", web_port)
267 resource_files = resource_files if resource_files else []
268 for item in resource_files:
269 prefix, fname = item
270 if not prefix.endswith("/"):
271 prefix += "/"
272 if not prefix.startswith("/"):
273 prefix = "/" + prefix
274 basename = os.path.basename(fname)
275 pair = (rf"{prefix}{basename}", RequestHandler, {"file_path": fname})
276 handlers.append(pair)
277 logging.info(pair)
278 self.app = tornado.web.Application(handlers)
279 self.app.listen(web_port)
280
281 self.sock = sock
282 self.sock.setblocking(0)
283 self.loop = ioloop.IOLoop.current()
284
285 def event_handler(_, events):
286 self._on_event(events)
287
288 self.loop.add_handler(self.sock.fileno(), event_handler, self.loop.READ)
289 self._client_pool = {}
290 self._server_pool = {}
291 self.timeout_alloc = 5
292 self.timeout_client = timeout_client
293 self.timeout_server = timeout_server
294 # tracker information
295 self._listen_port = listen_port
296 self._tracker_addr = tracker_addr
297 self._tracker_conn = None
298 self._tracker_pending_puts = []
299 self._key_set = set()

Callers 1

_proxy_serverFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…