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

Function _connect_proxy_loop

python/tvm/rpc/server.py:290–320  ·  view source on GitHub ↗
(addr, key, load_library)

Source from the content-addressed store, hash-verified

288
289
290def _connect_proxy_loop(addr, key, load_library):
291 key = "server:" + key
292 retry_count = 0
293 max_retry = 5
294 retry_period = 5
295 while True:
296 try:
297 sock = socket.socket(base.get_addr_family(addr), socket.SOCK_STREAM)
298 sock.connect(addr)
299 sock.sendall(struct.pack("<i", base.RPC_MAGIC))
300 sock.sendall(struct.pack("<i", len(key)))
301 sock.sendall(key.encode("utf-8"))
302 magic = struct.unpack("<i", base.recvall(sock, 4))[0]
303 if magic == base.RPC_CODE_DUPLICATE:
304 raise RuntimeError(f"key: {key} has already been used in proxy")
305
306 if magic == base.RPC_CODE_MISMATCH:
307 logger.warning("RPCProxy do not have matching client key %s", key)
308 elif magic != base.RPC_CODE_SUCCESS:
309 raise RuntimeError(f"{addr!s} is not RPC Proxy")
310 keylen = struct.unpack("<i", base.recvall(sock, 4))[0]
311 remote_key = (base.recvall(sock, keylen)).decode("utf-8")
312
313 _serving(sock, addr, _parse_server_opt(remote_key.split()[1:]), load_library)
314 retry_count = 0
315 except OSError as err:
316 retry_count += 1
317 logger.warning("Error encountered %s, retry in %g sec", str(err), retry_period)
318 if retry_count > max_retry:
319 raise RuntimeError(f"Maximum retry error: last error: {err!s}")
320 time.sleep(retry_period)
321
322
323class PopenRPCServerState:

Callers

nothing calls this directly

Calls 9

_servingFunction · 0.85
_parse_server_optFunction · 0.85
strFunction · 0.85
packMethod · 0.80
encodeMethod · 0.80
unpackMethod · 0.80
connectMethod · 0.45
decodeMethod · 0.45
splitMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…