packages feed

sockets-0.4.0.0: src-interrupt/Socket/Interrupt.hsig

{-# 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.Datagram as Datagram

data InterruptRep :: RuntimeRep
data Interrupt :: TYPE InterruptRep
data Intr :: Interruptibility

wait :: Interrupt -> TVar Token -> IO Token

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) ()