module Data.Conduit.Network.Internal
( AppData (..)
, ServerSettings (..)
, ClientSettings (..)
) where
import Data.ByteString (ByteString)
import Network.Socket (Socket, SockAddr)
import Data.Conduit (Source, Sink)
import Data.Conduit.Network.Utils (HostPreference)
data AppData m = AppData
{ appSource :: Source m ByteString
, appSink :: Sink ByteString m ()
, appSockAddr :: SockAddr
}
data ServerSettings m = ServerSettings
{ serverPort :: Int
, serverHost :: HostPreference
, serverAfterBind :: Socket -> m ()
}
data ClientSettings (m :: * -> *) = ClientSettings
{ clientPort :: Int
, clientHost :: ByteString
}