Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- send :: TVar Bool -> Connection -> Bytes -> IO (Either (SendException Interruptible) ())
- receiveExactly :: TVar Bool -> Connection -> Int -> IO (Either (ReceiveException Interruptible) ByteArray)
- receiveOnce :: TVar Bool -> Connection -> Int -> IO (Either (ReceiveException Interruptible) ByteArray)
- receiveBetween :: TVar Bool -> Connection -> Int -> Int -> IO (Either (ReceiveException Interruptible) ByteArray)
Documentation
:: TVar Bool | Interrupt. On |
-> Connection | Connection |
-> Bytes | Slice of a buffer |
-> IO (Either (SendException Interruptible) ()) |
Send a slice of a buffer. If needed, this calls POSIX send
repeatedly
until the entire contents of the buffer slice have been sent.
:: TVar Bool | Interrupt. On |
-> Connection | Connection |
-> Int | Exact number of bytes to receive |
-> IO (Either (ReceiveException Interruptible) ByteArray) |
Receive a number of bytes exactly equal to the length of the
buffer slice. If needed, this may call recv
repeatedly until
the requested number of bytes have been received.
:: TVar Bool | Interrupt. On |
-> Connection | Connection |
-> Int | Maximum number of bytes to receive |
-> IO (Either (ReceiveException Interruptible) ByteArray) |
Receive at most the specified number of bytes. This
only makes multiple calls to POSIX recv
if EAGAIN is returned. It makes at
most one recv
call that successfully fills the buffer.
:: TVar Bool | Interrupt. On |
-> Connection | Connection |
-> Int | Minimum number of bytes to receive |
-> Int | Maximum number of bytes to receive |
-> IO (Either (ReceiveException Interruptible) ByteArray) |
Receive a number of bytes that is between the inclusive lower and
upper bounds. If needed, this may call recv
repeatedly until the
minimum requested number of bytes have been received.