|
|
|
@ -126,23 +126,28 @@ def _run_single_channel(args: argparse.Namespace): |
|
|
|
|
sys.stdout.flush() |
|
|
|
|
start = time.time() |
|
|
|
|
end = start + duration_per_query |
|
|
|
|
call, _ = stub.UnaryCall.with_call(messages_pb2.SimpleRequest(), |
|
|
|
|
timeout=float( |
|
|
|
|
args.rpc_timeout_sec)) |
|
|
|
|
print(f"Got result {request_id}") |
|
|
|
|
sys.stdout.flush() |
|
|
|
|
with _global_lock: |
|
|
|
|
for watcher in _watchers: |
|
|
|
|
# TODO: Implement a peer details getter. |
|
|
|
|
peer = f"192.168.1.{request_id % 255}" |
|
|
|
|
watcher.on_rpc_complete(request_id, peer) |
|
|
|
|
if args.print_response: |
|
|
|
|
if call.code() == grpc.StatusCode.OK: |
|
|
|
|
print("Successful response.") |
|
|
|
|
sys.stdout.flush() |
|
|
|
|
try: |
|
|
|
|
response, call = stub.UnaryCall.with_call(messages_pb2.SimpleRequest(), |
|
|
|
|
timeout=float( |
|
|
|
|
args.rpc_timeout_sec)) |
|
|
|
|
except grpc.RpcError as e: |
|
|
|
|
if e.code() == grpc.StatusCode.DEADLINE_EXCEEDED: |
|
|
|
|
print(f"RPC timed out after {args.rpc_timeout_sec}") |
|
|
|
|
else: |
|
|
|
|
print(f"RPC failed: {call}") |
|
|
|
|
sys.stdout.flush() |
|
|
|
|
raise |
|
|
|
|
else: |
|
|
|
|
print(f"Got result {request_id}") |
|
|
|
|
sys.stdout.flush() |
|
|
|
|
with _global_lock: |
|
|
|
|
for watcher in _watchers: |
|
|
|
|
watcher.on_rpc_complete(request_id, response.hostname) |
|
|
|
|
if args.print_response: |
|
|
|
|
if call.code() == grpc.StatusCode.OK: |
|
|
|
|
print("Successful response.") |
|
|
|
|
sys.stdout.flush() |
|
|
|
|
else: |
|
|
|
|
print(f"RPC failed: {call}") |
|
|
|
|
sys.stdout.flush() |
|
|
|
|
now = time.time() |
|
|
|
|
while now < end: |
|
|
|
|
time.sleep(end - now) |
|
|
|
|