IP

Inherits: Object

Inherited By: IP_Unix

Category: Core

Brief Description

IP Protocol support functions.

Member Functions

void clear_cache ( String hostname=”” )
void erase_resolve_item ( int id )
Array get_local_addresses ( ) const
String get_resolve_item_address ( int id ) const
int get_resolve_item_status ( int id ) const
String resolve_hostname ( String host, int ip_type=3 )
int resolve_hostname_queue_item ( String host, int ip_type=3 )

Numeric Constants

  • RESOLVER_STATUS_NONE = 0
  • RESOLVER_STATUS_WAITING = 1
  • RESOLVER_STATUS_DONE = 2
  • RESOLVER_STATUS_ERROR = 3
  • RESOLVER_MAX_QUERIES = 32
  • RESOLVER_INVALID_ID = -1
  • TYPE_NONE = 0
  • TYPE_IPV4 = 1
  • TYPE_IPV6 = 2
  • TYPE_ANY = 3

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.

Member Function Description

  • void clear_cache ( String hostname=”” )

Removes all of a “hostname“‘s cached references. If no “hostname” is given then 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.

  • String get_resolve_item_address ( 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 get_resolve_item_status).

  • int get_resolve_item_status ( int id ) const

Returns a queued hostname’s status as a RESOLVER_STATUS_* 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”.

  • int resolve_hostname_queue_item ( String host, int ip_type=3 )

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.