use async_std::sync::{Sender, Receiver, channel}; use async_std::task; use tungstenite::WebSocket; enum DiscordEvent { } struct DiscordReceiver(Receiver); struct DiscordSocket(Sender); fn connect_discord_ws() -> (DiscordSocket, DiscordReceiver) { let (s,r) = channel(10); let receiver = DiscordReceiver(r); let socket = DiscordSocket(s); (socket, receiver) }