gi-gio-2.0.18: Gio bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gio.Objects.SocketAddressEnumerator

Contents

Description

Enumerator type for objects that contain or generate SocketAddress instances.

Synopsis

Exported types

toSocketAddressEnumerator :: (MonadIO m, IsSocketAddressEnumerator o) => o -> m SocketAddressEnumerator Source #

Cast to SocketAddressEnumerator, for types for which this is known to be safe. For general casts, use castTo.

Methods

next

socketAddressEnumeratorNext Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketAddressEnumerator a, IsCancellable b) 
=> a

enumerator: a SocketAddressEnumerator

-> Maybe b

cancellable: optional Cancellable object, Nothing to ignore.

-> m SocketAddress

Returns: a SocketAddress (owned by the caller), or Nothing on error (in which case *error will be set) or if there are no more addresses. (Can throw GError)

Retrieves the next SocketAddress from enumerator. Note that this may block for some amount of time. (Eg, a NetworkAddress may need to do a DNS lookup before it can return an address.) Use socketAddressEnumeratorNextAsync 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 socketAddressEnumeratorNext will return an appropriate error in *error. However, if the first call to socketAddressEnumeratorNext succeeds, then any further internal errors (other than cancellable being triggered) will be ignored.

nextAsync

socketAddressEnumeratorNextAsync Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketAddressEnumerator a, IsCancellable b) 
=> a

enumerator: a SocketAddressEnumerator

-> Maybe b

cancellable: optional Cancellable object, Nothing to ignore.

-> Maybe AsyncReadyCallback

callback: a AsyncReadyCallback to call when the request is satisfied

-> m () 

Asynchronously retrieves the next SocketAddress from enumerator and then calls callback, which must call socketAddressEnumeratorNextFinish to get the result.

nextFinish

socketAddressEnumeratorNextFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketAddressEnumerator a, IsAsyncResult b) 
=> a

enumerator: a SocketAddressEnumerator

-> b

result: a AsyncResult

-> m SocketAddress

Returns: a SocketAddress (owned by the caller), or Nothing on error (in which case *error will be set) or if there are no more addresses. (Can throw GError)

Retrieves the result of a completed call to socketAddressEnumeratorNextAsync. See socketAddressEnumeratorNext for more information about error handling.