pub fn parse(buffer: []const u8, port: u16) ParseError!Ip6Address buffer: []const u8port: u16682
683
684
685
686
687
688
689
690
691
692 pub fn parse(buffer: []const u8, port: u16) ParseError!Ip6Address {
switch (Unresolved.parse(buffer)) {
.success => |p| return .{
.bytes = p.bytes,
.port = port,
.interface = if (p.interface_name != null) return error.UnresolvedScope else .none,
},
else => return error.ParseFailed,
}
return .{ .ip6 = try Ip6Address.parse(buffer, port) };
}
This is a pure function but it cannot handle IPv6 addresses that have scope ids ("%foo" at the end). To also handle those,
resolvemust be called instead, or the lower levelUnresolvedAPI may be used.