Proposal: add System.Posix.fdReadBuf/fdWriteBuf
Simon Marlow
marlowsd at gmail.com
Mon May 11 11:29:32 EDT 2009
http://hackage.haskell.org/trac/ghc/ticket/3218
From the ticket:
Functions for reading/writing actual arrays of bytes in memory. At the
moment, `System.Posix` only provides
{{{
fdRead :: Fd
-> ByteCount -- ^How many bytes to read
-> IO (String, ByteCount) -- ^The bytes read, how many bytes
were read.
fdWrite :: Fd -> String -> IO ByteCount
}}}
which are not only wrong (`String`?), but too slow for many purposes.
I propose
{{{
Mon May 11 16:21:02 BST 2009 Simon Marlow <marlowsd at gmail.com>
* add fdReadBuf, fdWriteBuf
-- | Read data from an 'Fd' into memory. This is exactly equivalent
-- to the POSIX @read@ function.
fdReadBuf :: Fd
-> Ptr Word8 -- ^ Memory in which to put the data
-> ByteCount -- ^ Maximum number of bytes to read
-> IO Bytecount -- ^ Number of bytes read (zero for EOF)
-- | Write data from memory to an 'Fd'. This is exactly equivalent
-- to the POSIX @write@ function.
fdWriteBuf :: Fd
-> Ptr Word8 -- ^ Memory containing the data to write
-> ByteCount -- ^ Maximum number of bytes to write
-> IO ByteCount -- ^ Number of bytes written
}}}
darcs patches are attached to the ticket.
Discussion: 2 weeks (ends 25 May)
Cheers,
Simon
More information about the Libraries
mailing list