Ticket #3218 (closed proposal: fixed)

Opened 4 years ago

Last modified 4 years ago

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

fdReadBuf.patch Download (10.6 KB) - added by simonmar 4 years ago.
Patches to add fdReadBuf/fdWriteBuf and a test

Change History

Changed 4 years ago by simonmar

Patches to add fdReadBuf/fdWriteBuf and a test

Changed 4 years ago by simonmar

  • owner set to simonmar

Changed 4 years ago by simonmar

  • status changed from new to closed
  • resolution set to fixed

pushed.

Fri May 29 13:19:41 BST 2009  Simon Marlow <marlowsd@gmail.com>
  * add fdReadBuf, fdWriteBuf

Fri May 29 13:56:09 BST 2009  Simon Marlow <marlowsd@gmail.com>
  * add test for fdReadBuf/fdWriteBuf
Note: See TracTickets for help on using tickets.