Ticket #3218 (closed proposal: fixed)
Proposal: System.Posix.fdReadBuf/fdWriteBuf
| Reported by: | simonmar | Owned by: | simonmar |
|---|---|---|---|
| Priority: | normal | Milestone: | Not GHC |
| Component: | libraries/unix | Version: | 6.10.2 |
| Keywords: | Cc: | ||
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
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@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.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

