mirror of
https://github.com/Relintai/pandemonium_engine_docs.git
synced 2025-01-21 15:07:22 +01:00
197 lines
10 KiB
ReStructuredText
197 lines
10 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
|
|
.. DO NOT EDIT THIS FILE, but the IP.xml source instead.
|
|
.. The source is found in doc/classes or modules/<name>/doc_classes.
|
|
|
|
.. _class_IP:
|
|
|
|
IP
|
|
==
|
|
|
|
**Inherits:** :ref:`Object<class_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 :ref:`StreamPeerTCP<class_StreamPeerTCP>` and :ref:`TCP_Server<class_TCP_Server>`). IP provides DNS hostname resolution support, both blocking and threaded.
|
|
|
|
Methods
|
|
-------
|
|
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`clear_cache<class_IP_method_clear_cache>` **(** :ref:`String<class_String>` hostname="" **)** |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`erase_resolve_item<class_IP_method_erase_resolve_item>` **(** :ref:`int<class_int>` id **)** |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Array<class_Array>` | :ref:`get_local_addresses<class_IP_method_get_local_addresses>` **(** **)** |const| |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Array<class_Array>` | :ref:`get_local_interfaces<class_IP_method_get_local_interfaces>` **(** **)** |const| |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`get_resolve_item_address<class_IP_method_get_resolve_item_address>` **(** :ref:`int<class_int>` id **)** |const| |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Array<class_Array>` | :ref:`get_resolve_item_addresses<class_IP_method_get_resolve_item_addresses>` **(** :ref:`int<class_int>` id **)** |const| |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`ResolverStatus<enum_IP_ResolverStatus>` | :ref:`get_resolve_item_status<class_IP_method_get_resolve_item_status>` **(** :ref:`int<class_int>` id **)** |const| |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`resolve_hostname<class_IP_method_resolve_hostname>` **(** :ref:`String<class_String>` host, :ref:`Type<enum_IP_Type>` ip_type=3 **)** |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Array<class_Array>` | :ref:`resolve_hostname_addresses<class_IP_method_resolve_hostname_addresses>` **(** :ref:`String<class_String>` host, :ref:`Type<enum_IP_Type>` ip_type=3 **)** |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`resolve_hostname_queue_item<class_IP_method_resolve_hostname_queue_item>` **(** :ref:`String<class_String>` host, :ref:`Type<enum_IP_Type>` ip_type=3 **)** |
|
|
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
|
|
Enumerations
|
|
------------
|
|
|
|
.. _enum_IP_ResolverStatus:
|
|
|
|
.. _class_IP_constant_RESOLVER_STATUS_NONE:
|
|
|
|
.. _class_IP_constant_RESOLVER_STATUS_WAITING:
|
|
|
|
.. _class_IP_constant_RESOLVER_STATUS_DONE:
|
|
|
|
.. _class_IP_constant_RESOLVER_STATUS_ERROR:
|
|
|
|
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_IP_Type:
|
|
|
|
.. _class_IP_constant_TYPE_NONE:
|
|
|
|
.. _class_IP_constant_TYPE_IPV4:
|
|
|
|
.. _class_IP_constant_TYPE_IPV6:
|
|
|
|
.. _class_IP_constant_TYPE_ANY:
|
|
|
|
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
|
|
---------
|
|
|
|
.. _class_IP_constant_RESOLVER_MAX_QUERIES:
|
|
|
|
.. _class_IP_constant_RESOLVER_INVALID_ID:
|
|
|
|
- **RESOLVER_MAX_QUERIES** = **32** --- Maximum number of concurrent DNS resolver queries allowed, :ref:`RESOLVER_INVALID_ID<class_IP_constant_RESOLVER_INVALID_ID>` is returned if exceeded.
|
|
|
|
- **RESOLVER_INVALID_ID** = **-1** --- Invalid ID constant. Returned if :ref:`RESOLVER_MAX_QUERIES<class_IP_constant_RESOLVER_MAX_QUERIES>` is exceeded.
|
|
|
|
Method Descriptions
|
|
-------------------
|
|
|
|
.. _class_IP_method_clear_cache:
|
|
|
|
- void **clear_cache** **(** :ref:`String<class_String>` hostname="" **)**
|
|
|
|
Removes all of a ``hostname``'s cached references. If no ``hostname`` is given, all cached IP addresses are removed.
|
|
|
|
----
|
|
|
|
.. _class_IP_method_erase_resolve_item:
|
|
|
|
- void **erase_resolve_item** **(** :ref:`int<class_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.
|
|
|
|
----
|
|
|
|
.. _class_IP_method_get_local_addresses:
|
|
|
|
- :ref:`Array<class_Array>` **get_local_addresses** **(** **)** |const|
|
|
|
|
Returns all the user's current IPv4 and IPv6 addresses as an array.
|
|
|
|
----
|
|
|
|
.. _class_IP_method_get_local_interfaces:
|
|
|
|
- :ref:`Array<class_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.
|
|
}
|
|
|
|
----
|
|
|
|
.. _class_IP_method_get_resolve_item_address:
|
|
|
|
- :ref:`String<class_String>` **get_resolve_item_address** **(** :ref:`int<class_int>` id **)** |const|
|
|
|
|
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 :ref:`get_resolve_item_status<class_IP_method_get_resolve_item_status>`).
|
|
|
|
----
|
|
|
|
.. _class_IP_method_get_resolve_item_addresses:
|
|
|
|
- :ref:`Array<class_Array>` **get_resolve_item_addresses** **(** :ref:`int<class_int>` id **)** |const|
|
|
|
|
Return resolved addresses, or an empty array if an error happened or resolution didn't happen yet (see :ref:`get_resolve_item_status<class_IP_method_get_resolve_item_status>`).
|
|
|
|
----
|
|
|
|
.. _class_IP_method_get_resolve_item_status:
|
|
|
|
- :ref:`ResolverStatus<enum_IP_ResolverStatus>` **get_resolve_item_status** **(** :ref:`int<class_int>` id **)** |const|
|
|
|
|
Returns a queued hostname's status as a :ref:`ResolverStatus<enum_IP_ResolverStatus>` constant, given its queue ``id``.
|
|
|
|
----
|
|
|
|
.. _class_IP_method_resolve_hostname:
|
|
|
|
- :ref:`String<class_String>` **resolve_hostname** **(** :ref:`String<class_String>` host, :ref:`Type<enum_IP_Type>` ip_type=3 **)**
|
|
|
|
Returns a given hostname's IPv4 or IPv6 address when resolved (blocking-type method). The address type returned depends on the :ref:`Type<enum_IP_Type>` constant given as ``ip_type``.
|
|
|
|
----
|
|
|
|
.. _class_IP_method_resolve_hostname_addresses:
|
|
|
|
- :ref:`Array<class_Array>` **resolve_hostname_addresses** **(** :ref:`String<class_String>` host, :ref:`Type<enum_IP_Type>` ip_type=3 **)**
|
|
|
|
Resolves a given hostname in a blocking way. Addresses are returned as an :ref:`Array<class_Array>` of IPv4 or IPv6 depending on ``ip_type``.
|
|
|
|
----
|
|
|
|
.. _class_IP_method_resolve_hostname_queue_item:
|
|
|
|
- :ref:`int<class_int>` **resolve_hostname_queue_item** **(** :ref:`String<class_String>` host, :ref:`Type<enum_IP_Type>` ip_type=3 **)**
|
|
|
|
Creates a queue item to resolve a hostname to an IPv4 or IPv6 address depending on the :ref:`Type<enum_IP_Type>` constant given as ``ip_type``. Returns the queue ID if successful, or :ref:`RESOLVER_INVALID_ID<class_IP_constant_RESOLVER_INVALID_ID>` on error.
|
|
|
|
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
|
|
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
|
|
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
|