phonohawk/HsOpenSSL — pull request #9 by yav (2012-04-05 18:43:51+00:00)
Title: Added raw pointer read/write operations

Hello,

I work at Galois Inc., and we've been using your binding to the open-ssl library. Thanks for your work! We noticed that the bytestring API for the 'read' and 'write' operations is a bit slow as it puts a lot of pressure on the garbage collector: receiving data requires allocation of temporary byte-string buffers, which are then parsed into actual Haskell values for further use.

I added a couple of functions to allow sending and receiving data directly to a memory buffer. This is useful because it makes it possible to reuse the same buffer for multiple operations, which leads to a significant gain in performance. The functions are analogous to 'hPutVuf' and 'hGetBufSome' from the 'System.IO' module.

Could you please merge the change and upload a new version to Hackage?

Thanks for your work,
-Iavor