Method
__init__
(
self,
host,
port=9091,
port_end=9199,
web_port=0,
timeout_client=600,
timeout_server=600,
tracker_addr=None,
index_page=None,
resource_files=None,
)
Source from the content-addressed store, hash-verified
| 508 | current = None |
| 509 | |
| 510 | def __init__( |
| 511 | self, |
| 512 | host, |
| 513 | port=9091, |
| 514 | port_end=9199, |
| 515 | web_port=0, |
| 516 | timeout_client=600, |
| 517 | timeout_server=600, |
| 518 | tracker_addr=None, |
| 519 | index_page=None, |
| 520 | resource_files=None, |
| 521 | ): |
| 522 | sock = socket.socket(base.get_addr_family((host, port)), socket.SOCK_STREAM) |
| 523 | self.port = None |
| 524 | for my_port in range(port, port_end): |
| 525 | try: |
| 526 | sock.bind((host, my_port)) |
| 527 | self.port = my_port |
| 528 | break |
| 529 | except OSError as sock_err: |
| 530 | if sock_err.errno in [errno.EADDRINUSE]: |
| 531 | continue |
| 532 | raise sock_err |
| 533 | if not self.port: |
| 534 | raise ValueError(f"cannot bind to any port in [{port}, {port_end})") |
| 535 | logging.info("RPCProxy: client port bind to %s:%d", host, self.port) |
| 536 | sock.listen(1) |
| 537 | self.thread = threading.Thread( |
| 538 | target=_proxy_server, |
| 539 | args=( |
| 540 | sock, |
| 541 | self.port, |
| 542 | web_port, |
| 543 | timeout_client, |
| 544 | timeout_server, |
| 545 | tracker_addr, |
| 546 | index_page, |
| 547 | resource_files, |
| 548 | ), |
| 549 | ) |
| 550 | # start the server in a different thread |
| 551 | # so we can return the port directly |
| 552 | self.thread.start() |
| 553 | |
| 554 | |
| 555 | def _popen_start_proxy_server( |
Callers
nothing calls this directly
Tested by
no test coverage detected