INNER CODE UNIT · Rust

Some

domcyrus/rustnet · crates/rustnet-host/src/lib.rs:485

    if let Some(port_str) = addr_str.strip_prefix("*:") {
        let port = parse_port(port_str)?;
        return Some(SocketAddr::new(IpAddr::V4(Ipv4Addr::UNSPECIFIED), port));
    }

    // Handle IPv6 with brackets: [::1]:8080. Std parsing also accepts scope
    // ids like [fe80::1%1]:22, which Ipv6Addr alone would reject.
    if addr_str.starts_with('[') {
        return addr_str.parse().ok();
    }

    let last_colon = addr_str.rfind(':')?;
    let (ip_str, port_str) = addr_str.split_at(last_colon);
    let port_str = &port_str[1..];

    let port = parse_port(port_str)?;

    let ip = if ip_str.contains(':') {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…