-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Initial project template from stack -- -- Please see README.md @package linear-socket @version 0.3.3.0 module Network.Typed.Socket data SSocket (f :: SocketFamily) (p :: SocketProtocol) (s :: SocketStatus) (sh :: ShutdownStatus) data SocketFamily Unix :: SocketFamily InetV4 :: SocketFamily InetV6 :: SocketFamily data SocketProtocol Tcp :: SocketProtocol Udp :: SocketProtocol data SockAddr (f :: SocketFamily) [SockAddrInet] :: !PortNumber -> !HostAddress -> SockAddr InetV4 [SockAddrInet6] :: PortNumber -> !FlowInfo -> !HostAddress6 -> !ScopeID -> SockAddr InetV6 [SockAddrUnix] :: ![Char] -> SockAddr Unix data SocketStatus Unconnected :: SocketStatus Bound :: SocketStatus Listening :: SocketStatus Connected :: SocketStatus Closed :: SocketStatus data ShutdownStatus Available :: ShutdownStatus CannotReceive :: ShutdownStatus CannotSend :: ShutdownStatus CannotSendOrReceive :: ShutdownStatus socket :: forall f p. (SockFam f, SockProto p) => IO (SSocket f p Unconnected Available) tcp4Socket :: IO (SSocket InetV4 Tcp Unconnected Available) tcp6Socket :: IO (SSocket InetV6 Tcp Unconnected Available) tcpUnixSocket :: IO (SSocket Unix Tcp Unconnected Available) udp4Socket :: IO (SSocket InetV4 Udp Unconnected Available) udp6Socket :: IO (SSocket InetV6 Udp Unconnected Available) udpUnixSocket :: IO (SSocket Unix Udp Unconnected Available) connect :: SockAddr f -> SSocket f Tcp Unconnected sh -> IO (SSocket f Tcp Connected Available) bind :: SockAddr f -> SSocket f p Unconnected sh -> IO (SSocket f p Bound sh) accept :: SSocket f Tcp Listening sh -> IO (SSocket f Tcp Connected sh, SockAddr) listen :: Int -> SSocket f Tcp Bound sh -> IO (SSocket f Tcp Listening sh) send :: CanSend sh ~ True => ByteString -> SSocket f Tcp Connected sh -> IO Int sendTo :: CanSend sh ~ True => ByteString -> SockAddr f -> SSocket f Udp Unconnected sh -> IO Int recv :: CanReceive sh ~ True => Int -> SSocket f Tcp Connected sh -> IO ByteString recvFrom :: (CanReceive sh ~ True, SockFam f) => Int -> SSocket f Udp Unconnected sh -> IO (ByteString, SockAddr f) close :: Closeable s ~ True => SSocket f p s sh -> IO (SSocket f p Closed sh) shutdownSend :: CanShutdownSend sh s ~ True => SSocket f p s sh -> IO (SSocket f p s (Shutdown sh ShutdownSend)) shutdownReceive :: CanShutdownReceive sh s ~ True => SSocket f p s sh -> IO (SSocket f p s (Shutdown sh ShutdownReceive)) shutdownBoth :: CanShutdownBoth sh s ~ True => SSocket f p s sh -> IO (SSocket f p s (Shutdown sh ShutdownBoth)) withSocket :: (SockFam f, SockProto p) => (SSocket f p Unconnected Available -> IO a) -> IO a withTcp4Socket :: (SSocket InetV4 Tcp Unconnected Available -> IO a) -> IO a withTcp6Socket :: (SSocket InetV6 Tcp Unconnected Available -> IO a) -> IO a withTcpUnixSocket :: (SSocket Unix Tcp Unconnected Available -> IO a) -> IO a withUdp4Socket :: (SSocket InetV4 Udp Unconnected Available -> IO a) -> IO a withUdp6Socket :: (SSocket InetV6 Udp Unconnected Available -> IO a) -> IO a withUdpUnixSocket :: (SSocket Unix Udp Unconnected Available -> IO a) -> IO a setSocketOption :: SocketOption -> Int -> SSocket f p s sh -> IO (SSocket f p s sh) makePortReusable :: SSocket f p s sh -> IO (SSocket f p s sh) makeAddrReusable :: SSocket f p s sh -> IO (SSocket f p s sh) instance Network.Typed.Socket.SockFam 'Network.Typed.Socket.Unix instance Network.Typed.Socket.SockFam 'Network.Typed.Socket.InetV4 instance Network.Typed.Socket.SockFam 'Network.Typed.Socket.InetV6 instance Network.Typed.Socket.SockProto 'Network.Typed.Socket.Tcp instance Network.Typed.Socket.SockProto 'Network.Typed.Socket.Udp