{-# language DataKinds #-} {-# language KindSignatures #-} signature Socket.Interrupt where import Prelude (IO,Either,Int) import Control.Concurrent.STM (TVar) import Socket.EventManager (Token) import Socket (Interruptibility) import GHC.Exts (RuntimeRep,TYPE) import qualified Socket.Stream as Stream import qualified Socket.SequencedPacket as SequencedPacket import qualified Socket.Datagram as Datagram data InterruptRep :: RuntimeRep data Interrupt :: TYPE InterruptRep data Intr :: Interruptibility wait :: Interrupt -> TVar Token -> IO Token tokenToSequencedPacketSendException :: Token -> Either (SequencedPacket.SendException Intr) () tokenToSequencedPacketReceiveException :: Token -> Either (SequencedPacket.ReceiveException Intr) () tokenToStreamSendException :: Token -> Int -> Either (Stream.SendException Intr) () tokenToStreamReceiveException :: Token -> Int -> Either (Stream.ReceiveException Intr) () tokenToDatagramSendException :: Token -> Either (Datagram.SendException Intr) () tokenToDatagramReceiveException :: Token -> Either (Datagram.ReceiveException Intr) ()