18c2ecf20Sopenharmony_ci#!/usr/bin/env python3 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciimport sys, os, os.path, getopt 78c2ecf20Sopenharmony_ciimport socket, time 88c2ecf20Sopenharmony_ciimport subprocess 98c2ecf20Sopenharmony_ciimport select 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cidef read(sock, n): 128c2ecf20Sopenharmony_ci buf = b'' 138c2ecf20Sopenharmony_ci while len(buf) < n: 148c2ecf20Sopenharmony_ci rem = n - len(buf) 158c2ecf20Sopenharmony_ci try: s = sock.recv(rem) 168c2ecf20Sopenharmony_ci except (socket.error) as e: return b'' 178c2ecf20Sopenharmony_ci buf += s 188c2ecf20Sopenharmony_ci return buf 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cidef send(sock, s): 218c2ecf20Sopenharmony_ci total = len(s) 228c2ecf20Sopenharmony_ci count = 0 238c2ecf20Sopenharmony_ci while count < total: 248c2ecf20Sopenharmony_ci try: n = sock.send(s) 258c2ecf20Sopenharmony_ci except (socket.error) as e: n = 0 268c2ecf20Sopenharmony_ci if n == 0: 278c2ecf20Sopenharmony_ci return count; 288c2ecf20Sopenharmony_ci count += n 298c2ecf20Sopenharmony_ci return count 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciserverPort = int(sys.argv[1]) 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci# create active socket 358c2ecf20Sopenharmony_cisock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) 368c2ecf20Sopenharmony_citry: 378c2ecf20Sopenharmony_ci sock.connect(('::1', serverPort)) 388c2ecf20Sopenharmony_ciexcept socket.error as e: 398c2ecf20Sopenharmony_ci sys.exit(1) 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_cibuf = b'' 428c2ecf20Sopenharmony_cin = 0 438c2ecf20Sopenharmony_ciwhile n < 1000: 448c2ecf20Sopenharmony_ci buf += b'+' 458c2ecf20Sopenharmony_ci n += 1 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_cisock.settimeout(1); 488c2ecf20Sopenharmony_cin = send(sock, buf) 498c2ecf20Sopenharmony_cin = read(sock, 500) 508c2ecf20Sopenharmony_cisys.exit(0) 51