Copyright | (c) axionbuster 2025 |
---|---|
License | BSD-3-Clause |
Safe Haskell | None |
Language | GHC2021 |
Implements the interpretation of the Talking
effect in terms of socket
connections, providing both client and server capabilities.
Synopsis
- data SocketTalkingError
- withtalkingserver :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> Maybe String -> String -> Eff (Talking ': es) a -> Eff es a
- withtalkingclient :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> String -> String -> Eff (Talking ': es) a -> Eff es a
Documentation
data SocketTalkingError Source #
error in communication
Instances
Exception SocketTalkingError Source # | |
Defined in M.IO.Internal.EffectSocket | |
Show SocketTalkingError Source # | |
Defined in M.IO.Internal.EffectSocket showsPrec :: Int -> SocketTalkingError -> ShowS # show :: SocketTalkingError -> String # showList :: [SocketTalkingError] -> ShowS # | |
Eq SocketTalkingError Source # | |
Defined in M.IO.Internal.EffectSocket (==) :: SocketTalkingError -> SocketTalkingError -> Bool # (/=) :: SocketTalkingError -> SocketTalkingError -> Bool # |
:: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) | |
=> UnliftStrategy | unlift strategy |
-> Maybe String | host (Nothing = all interfaces) |
-> String | port |
-> Eff (Talking ': es) a | per-connection handler |
-> Eff es a | final result |
run server accepting multiple connections
:: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) | |
=> UnliftStrategy | unlift strategy |
-> String | host |
-> String | port |
-> Eff (Talking ': es) a | handler |
-> Eff es a | result |
run client with single connection