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