1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

x.net: new net module (#6130)

This commit is contained in:
Emily Hudson
2020-08-20 22:01:37 +01:00
committed by GitHub
parent 9b171b76e0
commit b88569c845
13 changed files with 2056 additions and 0 deletions

24
vlib/x/net/util.v Normal file
View File

@ -0,0 +1,24 @@
module net
const (
socket_max_port = u16(0xFFFF)
)
// validate_port checks whether a port is valid
// and returns the port or an error
pub fn validate_port(port int) ?u16 {
if port <= socket_max_port {
return u16(port)
} else {
return err_port_out_of_range
}
}
// split address splits an address into its host name and its port
pub fn split_address(addr string) ?(string, u16) {
port := addr.all_after_last(':').int()
address := addr.all_before_last(':')
p := validate_port(port)?
return address, p
}