use std::str::FromStr; use fltk::{ app, button::Button, enums::CallbackTrigger, frame::Frame, input::*, prelude::*, window::Window }; use structopt::StructOpt; use tokio::runtime::Runtime; use quic_demo::{ client_proxy::*, prelude::*, protocol::PeerId, }; #[derive (Debug, StructOpt)] struct Opt { #[structopt (long)] window_title: Option , #[structopt (long)] relay_addr: Option , #[structopt (long)] client_id: Option , #[structopt (long)] cert_url: Option , } #[derive (Clone, Copy)] enum Message { OpenPort (usize), ClosePort (usize), } struct GuiClient <'a> { rt: &'a Runtime, frame_status: Frame, forwarding_instances: Vec