IP
Inherits: Object
Internet protocol (IP) support functions such as DNS resolution.
Description
IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see StreamPeerTCP and TCP_Server). IP provides DNS hostname resolution support, both blocking and threaded.
Methods
void | clear_cache ( String hostname=”” ) |
void | erase_resolve_item ( int id ) |
Array | get_local_addresses ( ) const |
Array | get_local_interfaces ( ) const |
String | get_resolve_item_address ( int id ) const |
ResolverStatus | get_resolve_item_status ( int id ) const |
String | resolve_hostname ( String host, Type ip_type=3 ) |
int | resolve_hostname_queue_item ( String host, Type ip_type=3 ) |
Enumerations
enum ResolverStatus:
- RESOLVER_STATUS_NONE = 0 —- DNS hostname resolver status: No status.
- RESOLVER_STATUS_WAITING = 1 —- DNS hostname resolver status: Waiting.
- RESOLVER_STATUS_DONE = 2 —- DNS hostname resolver status: Done.
- RESOLVER_STATUS_ERROR = 3 —- DNS hostname resolver status: Error.
enum Type:
- TYPE_NONE = 0 —- Address type: None.
- TYPE_IPV4 = 1 —- Address type: Internet protocol version 4 (IPv4).
- TYPE_IPV6 = 2 —- Address type: Internet protocol version 6 (IPv6).
- TYPE_ANY = 3 —- Address type: Any.
Constants
- RESOLVER_MAX_QUERIES = 32 —- Maximum number of concurrent DNS resolver queries allowed, RESOLVER_INVALID_ID is returned if exceeded.
- RESOLVER_INVALID_ID = -1 —- Invalid ID constant. Returned if RESOLVER_MAX_QUERIES is exceeded.
Method Descriptions
- void clear_cache ( String hostname=”” )
Removes all of a hostname
‘s cached references. If no hostname
is given, all cached IP addresses are removed.
- void erase_resolve_item ( int id )
Removes a given item id
from the queue. This should be used to free a queue after it has completed to enable more queries to happen.
- Array get_local_addresses ( ) const
Returns all of the user’s current IPv4 and IPv6 addresses as an array.
- Array get_local_interfaces ( ) const
Returns all network adapters as an array.
Each adapter is a dictionary of the form:
{
"index": "1", # Interface index.
"name": "eth0", # Interface name.
"friendly": "Ethernet One", # A friendly name (might be empty).
"addresses": ["192.168.1.101"], # An array of IP addresses associated to this interface.
}
Returns a queued hostname’s IP address, given its queue id
. Returns an empty string on error or if resolution hasn’t happened yet (see get_resolve_item_status).
- ResolverStatus get_resolve_item_status ( int id ) const
Returns a queued hostname’s status as a ResolverStatus constant, given its queue id
.
Returns a given hostname’s IPv4 or IPv6 address when resolved (blocking-type method). The address type returned depends on the Type constant given as ip_type
.
Creates a queue item to resolve a hostname to an IPv4 or IPv6 address depending on the Type constant given as ip_type
. Returns the queue ID if successful, or RESOLVER_INVALID_ID on error.