module Resolve.DNS.Helper.TCP where import qualified Resolve.DNS.TCP as TCP 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 = Stream} addr:_ <- getAddrInfo (Just hints) (Just $ host c) (Just $ port c) sock <- socket (addrFamily addr) (addrSocketType addr) (addrProtocol addr) connect sock $ addrAddress addr TCP.new $ TCP.Config { TCP.socket = sock}