naia_server_socket/
server_addrs.rs

1use std::{default::Default, net::SocketAddr};
2
3/// List of addresses needed to start listening on a ServerSocket
4#[derive(Clone)]
5pub struct ServerAddrs {
6    /// IP Address to listen on for the signaling portion of WebRTC
7    pub session_listen_addr: SocketAddr,
8    /// IP Address to listen on for UDP WebRTC data channels
9    pub webrtc_listen_addr: SocketAddr,
10    /// The public WebRTC IP address to advertise
11    pub public_webrtc_url: String,
12}
13
14impl ServerAddrs {
15    /// Create a new ServerSocketAddrs instance which will be used to start
16    /// listening on a ServerSocket
17    pub fn new(
18        session_listen_addr: SocketAddr,
19        webrtc_listen_addr: SocketAddr,
20        public_webrtc_url: &str,
21    ) -> Self {
22        Self {
23            session_listen_addr,
24            webrtc_listen_addr,
25            public_webrtc_url: public_webrtc_url.to_string(),
26        }
27    }
28}
29
30impl Default for ServerAddrs {
31    fn default() -> Self {
32        Self::new(
33            "127.0.0.1:14191"
34                .parse()
35                .expect("could not parse HTTP address/port"),
36            "127.0.0.1:14192"
37                .parse()
38                .expect("could not parse WebRTC data address/port"),
39            "http://127.0.0.1:14192",
40        )
41    }
42}