<?xml version="1.0" encoding="UTF-8" ?> <class name="IP" inherits="Object" category="Core" version="3.0-alpha"> <brief_description> IP Protocol support functions. </brief_description> <description> IP contains support functions for the IPv4 protocol. TCP/IP support is in different classes (see [StreamPeerTCP] and [TCP_Server]). IP provides 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"> </constant> <constant name="RESOLVER_STATUS_WAITING" value="1"> </constant> <constant name="RESOLVER_STATUS_DONE" value="2"> </constant> <constant name="RESOLVER_STATUS_ERROR" value="3"> </constant> <constant name="RESOLVER_MAX_QUERIES" value="32" enum=""> </constant> <constant name="RESOLVER_INVALID_ID" value="-1" enum=""> </constant> <constant name="TYPE_NONE" value="0"> </constant> <constant name="TYPE_IPV4" value="1"> </constant> <constant name="TYPE_IPV6" value="2"> </constant> <constant name="TYPE_ANY" value="3"> </constant> </constants> </class>