aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/net/util.v
diff options
context:
space:
mode:
authorIndrajith K L2022-12-03 17:00:20 +0530
committerIndrajith K L2022-12-03 17:00:20 +0530
commitf5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch)
tree2764fc62da58f2ba8da7ed341643fc359873142f /v_windows/v/vlib/net/util.v
downloadcli-tools-windows-f5c4671bfbad96bf346bd7e9a21fc4317b4959df.tar.gz
cli-tools-windows-f5c4671bfbad96bf346bd7e9a21fc4317b4959df.tar.bz2
cli-tools-windows-f5c4671bfbad96bf346bd7e9a21fc4317b4959df.zip
Adds most of the toolsHEADmaster
Diffstat (limited to 'v_windows/v/vlib/net/util.v')
-rw-r--r--v_windows/v/vlib/net/util.v27
1 files changed, 27 insertions, 0 deletions
diff --git a/v_windows/v/vlib/net/util.v b/v_windows/v/vlib/net/util.v
new file mode 100644
index 0000000..33d7cec
--- /dev/null
+++ b/v_windows/v/vlib/net/util.v
@@ -0,0 +1,27 @@
+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 <= net.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(':')
+
+ // TODO(emily): Maybe do some more checking here
+ // to validate ipv6 address sanity?
+
+ p := validate_port(port) ?
+ return address, p
+}