def server()

in resources/code/my-first-enclave/secure-local-channel/traffic_forwarder.py [0:0]


def server(local_ip, local_port, remote_cid, remote_port):
    try:
        dock_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        dock_socket.bind((local_ip, local_port))
        dock_socket.listen(5)

        while True:
            client_socket = dock_socket.accept()[0]

            server_socket = socket.socket(socket.AF_VSOCK, socket.SOCK_STREAM)
            server_socket.connect((remote_cid, remote_port))

            outgoing_thread = threading.Thread(target=forward,
                                               args=(client_socket,
                                                     server_socket))
            incoming_thread = threading.Thread(target=forward,
                                               args=(server_socket,
                                                     client_socket))

            outgoing_thread.start()
            incoming_thread.start()
    finally:
        new_thread = threading.Thread(target=server,
                                      args=(local_ip, local_port, remote_cid,
                                            remote_port))
        new_thread.start()

    return