summaryrefslogtreecommitdiff
path: root/server/src/Network/QueryResponse.hs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/Network/QueryResponse.hs')
-rw-r--r--server/src/Network/QueryResponse.hs9
1 files changed, 9 insertions, 0 deletions
diff --git a/server/src/Network/QueryResponse.hs b/server/src/Network/QueryResponse.hs
index 94eb4796..470b7ce7 100644
--- a/server/src/Network/QueryResponse.hs
+++ b/server/src/Network/QueryResponse.hs
@@ -81,6 +81,13 @@ data TransportA err addr x y = Transport
81 81
82type Transport err addr x = TransportA err addr x x 82type Transport err addr x = TransportA err addr x x
83 83
84nullTransport :: TransportA err addr x y
85nullTransport = Transport
86 { awaitMessage = \_ -> retry
87 , sendMessage = \_ _ -> return ()
88 , setActive = \_ -> return ()
89 }
90
84closeTransport :: TransportA err addr x y -> IO () 91closeTransport :: TransportA err addr x y -> IO ()
85closeTransport tr = setActive tr False 92closeTransport tr = setActive tr False
86 93
@@ -606,6 +613,8 @@ saferSendTo sock bs saddr = void (B.sendTo sock bs saddr)
606 else throw e 613 else throw e
607 614
608-- | Like 'udpTransport' except also returns the raw socket (for broadcast use). 615-- | Like 'udpTransport' except also returns the raw socket (for broadcast use).
616--
617-- Note: Throws an exception if unable to bind.
609udpTransport' :: Show err => SockAddr -> IO (Transport err SockAddr ByteString, Socket) 618udpTransport' :: Show err => SockAddr -> IO (Transport err SockAddr ByteString, Socket)
610udpTransport' bind_address = do 619udpTransport' bind_address = do
611 let family = sockAddrFamily bind_address 620 let family = sockAddrFamily bind_address