rgb-cln/tests/plugins/slow_start.py

34 lines
716 B
Python
Executable File

#!/usr/bin/env python3
"""This plugin is used to check that updated connection hints work properly.
"""
from pyln.client import Plugin
import socket
import time
plugin = Plugin()
@plugin.async_method('waitconn')
def wait_connection(request, plugin):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('localhost', 0))
sock.listen(1)
print("listening for connections on port {}".format(sock.getsockname()[1]))
# We are a one and done socket connection!
conn, client_addr = sock.accept()
try:
print("connection from {}".format(client_addr))
time.sleep(3)
finally:
conn.close()
print("closing socket")
sock.close()
plugin.run()