Class HostResolver

  • All Implemented Interfaces:
    AutoCloseable

    public class HostResolver
    extends CrtResource
    Java wrapper around the native CRT host resolver, responsible for performing async dns lookups
    • Constructor Detail

      • HostResolver

        public HostResolver​(EventLoopGroup elg,
                            int maxEntries)
                     throws CrtRuntimeException
        Parameters:
        elg - event loop group to pass to the host resolver. Not currently used but still mandatory.
        maxEntries - maximum size of the name to address mapping cache
        Throws:
        CrtRuntimeException
    • Method Detail

      • canReleaseReferencesImmediately

        protected boolean canReleaseReferencesImmediately()
        Determines whether a resource releases its dependencies at the same time the native handle is released or if it waits. Resources that wait are responsible for calling releaseReferences() manually.
        Specified by:
        canReleaseReferencesImmediately in class CrtResource
        Returns:
        true if this resource releases synchronously, false if this resource performs async shutdown
      • releaseNativeHandle

        protected void releaseNativeHandle()
        Cleans up the resolver's associated native handle
        Specified by:
        releaseNativeHandle in class CrtResource
      • setStaticDefaultMaxEntries

        public static void setStaticDefaultMaxEntries​(int maxEntries)
        Sets the max number of cached host entries for the static default resolver, if it's ever created/used. Has no effect if the static default host resolver has already been created.
        Parameters:
        maxEntries - maximum number of host entries cached
      • closeStaticDefault

        public static void closeStaticDefault()
        Closes the static default host resolver, if it exists. Primarily intended for tests that use the static default resolver, before they call waitForNoResources().