1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use std::net::{ToSocketAddrs, SocketAddr}; use std::io::{self, Error, ErrorKind}; use crate::crypto::Method; pub use codec::{Codec, NsonCodec}; pub use network::{Packet, NetWork}; mod codec; mod network; pub mod tcp_ext; #[derive(Debug, Clone)] pub struct CryptoOptions { pub method: Method, pub access: String, pub secret: String } pub fn parse_addr<A: ToSocketAddrs>(addr: A) -> io::Result<SocketAddr> { addr.to_socket_addrs()?.next().ok_or_else(|| Error::new(ErrorKind::InvalidInput, "Address is not valid")) }