BufferOp -opengl

BufferOp :: (Handle -> Int -> IO a) -> (Handle -> IO a) -> (Handle -> a -> IO ()) -> (Handle -> IO a) -> a -> (a -> a -> a) -> ([a] -> a) -> (String -> a) -> (a -> String) -> (a -> Word8 -> a) -> (Int -> a -> (a, a)) -> ((Char -> Bool) -> a -> (a, a)) -> (a -> Bool) -> (a -> Bool) -> BufferOp a
HTTP Network.BufferType
data BufferOp a
HTTP Network.BufferType
BufferOp encodes the I/O operations of the underlying buffer over a Handle in an (explicit) dictionary type. May not be needed, but gives us flexibility in explicit overriding and wrapping up of these methods. Along with IO operations is an ad-hoc collection of functions for working with these abstract buffers, as needed by the internals of the code that processes requests and responses. We supply three default BufferOp values, for String along with the strict and lazy versions of ByteString. To add others, provide BufferOp definitions for
bufferOps :: BufferType bufType => BufferOp bufType
HTTP Network.BufferType
lazyBufferOp :: BufferOp ByteString
HTTP Network.BufferType
lazyBufferOp is the BufferOp definition over ByteStrings, the non-strict kind.
strictBufferOp :: BufferOp ByteString
HTTP Network.BufferType
strictBufferOp is the BufferOp definition over ByteStrings, the non-lazy kind.
stringBufferOp :: BufferOp String
HTTP Network.BufferType
stringBufferOp is the BufferOp definition over Strings. It is defined in terms of strictBufferOp operations, unpacking/converting to String when needed.