@@ -11,7 +11,7 @@
1111--
1212module Streamly.Internal.Network.Socket
1313 (
14− SockSpec (..)
14+ SockSpec (..)
1515 -- * Use a socket
1616 , forSocketM
1717 , withSocket
@@ -104,7 +104,6 @@ import qualified Streamly.Internal.Data.Array as A
104104import qualified Streamly.Internal.Data.MutArray as MArray
105105 (MutArray(..), asPtrUnsafe, pinnedNewBytes)
106106import qualified Streamly.Internal.Data.Stream as S (fromStreamK, Stream(..), Step(..))
107−import qualified Streamly.Internal.Data.Unfold as UF (map)
108107import qualified Streamly.Internal.Data.StreamK as K (mkStream)
109108
110109-- $setup
@@ -140,6 +139,9 @@ withSocket sk f = S.finallyIO (Net.close sk) (f sk)
140139-- XXX Protocol specific socket options should be separated from socket level
141140-- options.
142141--
142+-- NOTE: the socket config is specified as a record and not by composing
143+-- functions because all the fields are mandatory except the sockOpts field.
144+
143145-- | Specify the socket protocol details.
144146data SockSpec = SockSpec
145147 {
@@ -183,7 +185,7 @@ listenTuples = Unfold step inject
183185--
184186{-# INLINE acceptor #-}
185187acceptor :: MonadIO m => Unfold m (Int, SockSpec, SockAddr) Socket
186−acceptor = UF.map fst listenTuples
188+acceptor = fmap fst listenTuples
187189
188190{-# INLINE connectCommon #-}
189191connectCommon :: SockSpec -> Maybe SockAddr -> SockAddr -> IO Socket