module Resolve.DNS.Helper.UDP where import qualified Resolve.DNS.UDP as UDP import Resolve.Types import Resolve.DNS.Types import Network.Socket data Config = Config { host :: HostName , port :: ServiceName } new :: Config -> IO (Resolver Message Message) new c = do let hints = defaultHints { addrSocketType = Datagram} addr:_ <- getAddrInfo (Just hints) (Just $ host c) (Just $ port c) sock <- socket (addrFamily addr) (addrSocketType addr) (addrProtocol addr) UDP.new $ UDP.Config { UDP.socket = sock , UDP.server = addrAddress addr}