async fn run_socket_forever<OutgoingType: Serialize + Debug, IncomingType: DeserializeOwned + Debug, SocketType: ThreadableSocket<OutgoingType, IncomingType>, Serializer: FnMut(bool, TextOrT<OutgoingType>) -> Result<Vec<u8>, SerializeResult>, SerializeResult: Debug, Deserializer: FnMut(bool, &[u8]) -> Result<Vec<TextOrT<IncomingType>>, DeserializeResult>, DeserializeResult: Debug, Instant: CrossPlatformInstant + Default>(
name: String,
addresses: Receiver<Option<Address>>,
data_outgoing: Receiver<TextOrT<OutgoingType>>,
statuses: Sender<NetworkStatus>,
data_incoming: Sender<TextOrT<IncomingType>>,
serializer: Serializer,
deserializer: Deserializer,
) -> Result<(), ()>
Expand description
Runs on a separate thread to babysit the socket