Name
SPVM::Sys::Socket::Util - Socket Utilities
Description
Sys::Socket::Util class in SPVM has methods for socket utilities.
Usage
use Sys::Socket::Util;
Class Methods
inet_aton
static method inet_aton : Sys::Socket::In_addr ($address : string);
Creates a new Sys::Socket::In_addr object and calls Sys::Socket#inet_aton method with it, and returns it.
inet_ntoa
static method inet_ntoa : string ($in_addr : Sys::Socket::In_addr);
Calls Sys::Socket#inet_ntoa method, and returns its return value.
inet_pton
static method inet_pton : Sys::Socket::In_addr_base ($family : int, $address : string);
Creates a new Sys::Socket::In_addr object or a new Sys::Socket::In6_addr according to the address family $family.
And calls Sys::Socket#inet_aton method with it, and returns it.
Excetpions:
If the address family $family is not available, an excetpion is thrown.
inet_ntop
static method inet_ntop : string ($family : int, $in_addr : Sys::Socket::In_addr_base);
Calls Sys::Socket#inet_ntop method given enough address buffer $dst.
And the got address $dst is truncated to the length the address and returns it.
sockaddr_in
static method sockaddr_in : Sys::Socket::Sockaddr::In ($port : int, $in_addr : Sys::Socket::In_addr);
Creates a new Sys::Socket::Sockaddr::In object given the port $port and the address $in_addr, and returns it.
The address family is set to AF_INET
.
Exceptions:
$in_addr must be defined. Otherwise an exception is thrown.
sockaddr_in6
static method sockaddr_in6 : Sys::Socket::Sockaddr::In6 ($port : int, $in6_addr : Sys::Socket::In6_addr);
Creates a new Sys::Socket::Sockaddr::In6 object given the port $port and the address $in_addr, and returns it.
The address family is set to AF_INET6
.
Exceptions:
$in6_addr must be defined. Otherwise an exception is thrown.
sockaddr_un
static method sockaddr_un : Sys::Socket::Sockaddr::Un ($path : string);
Creates a new Sys::Socket::Sockaddr::Un object given the path $path, and returns it.
The address family is set to AF_UNIX
.
Exceptions:
$path must be defined. Otherwise an exception is thrown.
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License