<?xml version="1.0" encoding="UTF-8" ?> <class name="IP" inherits="Object" category="Core" version="3.2"> <brief_description> Internet protocol (IP) support functions like DNS resolution. </brief_description> <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. </description> <tutorials> </tutorials> <demos> </demos> <methods> <method name="clear_cache"> <return type="void"> </return> <argument index="0" name="hostname" type="String" default=""""> </argument> <description> Removes all of a "hostname"'s cached references. If no "hostname" is given then all cached IP addresses are removed. </description> </method> <method name="erase_resolve_item"> <return type="void"> </return> <argument index="0" name="id" type="int"> </argument> <description> 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. </description> </method> <method name="get_local_addresses" qualifiers="const"> <return type="Array"> </return> <description> Returns all of the user's current IPv4 and IPv6 addresses as an array. </description> </method> <method name="get_resolve_item_address" qualifiers="const"> <return type="String"> </return> <argument index="0" name="id" type="int"> </argument> <description> 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 [method get_resolve_item_status]). </description> </method> <method name="get_resolve_item_status" qualifiers="const"> <return type="int" enum="IP.ResolverStatus"> </return> <argument index="0" name="id" type="int"> </argument> <description> Returns a queued hostname's status as a RESOLVER_STATUS_* constant, given its queue "id". </description> </method> <method name="resolve_hostname"> <return type="String"> </return> <argument index="0" name="host" type="String"> </argument> <argument index="1" name="ip_type" type="int" enum="IP.Type" default="3"> </argument> <description> 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". </description> </method> <method name="resolve_hostname_queue_item"> <return type="int"> </return> <argument index="0" name="host" type="String"> </argument> <argument index="1" name="ip_type" type="int" enum="IP.Type" default="3"> </argument> <description> 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. </description> </method> </methods> <constants> <constant name="RESOLVER_STATUS_NONE" value="0" enum="ResolverStatus"> DNS hostname resolver status: No status. </constant> <constant name="RESOLVER_STATUS_WAITING" value="1" enum="ResolverStatus"> DNS hostname resolver status: Waiting. </constant> <constant name="RESOLVER_STATUS_DONE" value="2" enum="ResolverStatus"> DNS hostname resolver status: Done. </constant> <constant name="RESOLVER_STATUS_ERROR" value="3" enum="ResolverStatus"> DNS hostname resolver status: Error. </constant> <constant name="RESOLVER_MAX_QUERIES" value="32"> Maximum number of concurrent DNS resolver queries allowed, [code]RESOLVER_INVALID_ID[/code] is returned if exceeded. </constant> <constant name="RESOLVER_INVALID_ID" value="-1"> Invalid ID constant. Returned if [code]RESOLVER_MAX_QUERIES[/code] is exceeded. </constant> <constant name="TYPE_NONE" value="0" enum="Type"> Address type: None. </constant> <constant name="TYPE_IPV4" value="1" enum="Type"> Address type: Internet protocol version 4 (IPv4). </constant> <constant name="TYPE_IPV6" value="2" enum="Type"> Address type: Internet protocol version 6 (IPv6). </constant> <constant name="TYPE_ANY" value="3" enum="Type"> Address type: Any. </constant> </constants> </class>