Class SocketAddressEnumerator

All Implemented Interfaces:
PointerInterface
Direct Known Subclasses:
ProxyAddressEnumerator

public class SocketAddressEnumerator extends Object
#GSocketAddressEnumerator is an enumerator type for #GSocketAddress
instances. It is returned by enumeration functions such as
g_socket_connectable_enumerate(), which returns a #GSocketAddressEnumerator
to list each #GSocketAddress which could be used to connect to that
#GSocketConnectable.

Enumeration is typically a blocking operation, so the asynchronous methods
g_socket_address_enumerator_next_async() and
g_socket_address_enumerator_next_finish() should be used where possible.

Each #GSocketAddressEnumerator can only be enumerated once. Once
g_socket_address_enumerator_next() has returned %NULL, further
enumeration with that #GSocketAddressEnumerator is not possible, and it can
be unreffed.

https://docs.gtk.org/gio/class.SocketAddressEnumerator.html

  • Constructor Details

    • SocketAddressEnumerator

      public SocketAddressEnumerator(PointerContainer pointer)
  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • next

      public SocketAddress next(@Nullable Cancellable cancellable) throws AllocationError
      Retrieves the next #GSocketAddress from @enumerator. Note that this
      may block for some amount of time. (Eg, a #GNetworkAddress may need
      to do a DNS lookup before it can return an address.) Use
      g_socket_address_enumerator_next_async() if you need to avoid
      blocking.

      If @enumerator is expected to yield addresses, but for some reason
      is unable to (eg, because of a DNS error), then the first call to
      g_socket_address_enumerator_next() will return an appropriate error
      in *@error. However, if the first call to
      g_socket_address_enumerator_next() succeeds, then any further
      internal errors (other than @cancellable being triggered) will be
      ignored.
      Parameters:
      cancellable - optional #GCancellable object, %NULL to ignore.
      Returns:
      a #GSocketAddress (owned by the caller), or %NULL on error (in which case *@error will be set) or if there are no more addresses.
      Throws:
      AllocationError
    • nextAsync

      public void nextAsync(@Nullable Cancellable cancellable, SocketAddressEnumerator.OnAsyncReadyCallback callback, @Nullable Pointer user_data)
      Asynchronously retrieves the next #GSocketAddress from @enumerator
      and then calls @callback, which must call
      g_socket_address_enumerator_next_finish() to get the result.

      It is an error to call this multiple times before the previous callback has finished.
      Parameters:
      cancellable - optional #GCancellable object, %NULL to ignore.
      callback - a #GAsyncReadyCallback to call when the request is satisfied
      user_data - the data to pass to callback function
    • nextFinish

      public SocketAddress nextFinish(@Nonnull AsyncResult result) throws AllocationError
      Retrieves the result of a completed call to
      g_socket_address_enumerator_next_async(). See
      g_socket_address_enumerator_next() for more information about
      error handling.
      Parameters:
      result - a #GAsyncResult
      Returns:
      a #GSocketAddress (owned by the caller), or %NULL on error (in which case *@error will be set) or if there are no more addresses.
      Throws:
      AllocationError
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()