Path to this page:
./
net/hs-recv,
Efficient network recv
Branch: CURRENT,
Version: 0.1.0nb2,
Package name: hs-recv-0.1.0nb2,
Maintainer: pkgsrc-usersThis module provides efficient receiving functions from the network. recv
uses createAndTrim which behaves as follows:
* Allocates a buffer whose size is decided from the first argument.
* Receives data with the buffer.
* Allocates another buffer whose size fits the received data.
* Copies the data from the first buffer to the second buffer.
On 64bit machines, the global lock is taken for the allocation of a byte
string whose length is larger than or equal to 3272 bytes. So, for
instance, if 4,096 is specified to recv and the size of received data is
3,300, the global lock is taken twice with the copy overhead.
The efficient receiving functions provided here use a buffer pool. A large
buffer is allocated at the beginning and it is divided into a used one and
a leftover when receiving. The latter is kept in the buffer pooll and will
be used next time. When the buffer gets small and usefless, a new large
buffer is allocated.
Master sites:
Filesize: 5.037 KB
Version history: (Expand)
- (2024-05-09) Updated to version: hs-recv-0.1.0nb2
- (2023-11-02) Updated to version: hs-recv-0.1.0nb1
- (2023-10-27) Updated to version: hs-recv-0.1.0
- (2023-10-09) Updated to version: hs-recv-0.0.0nb2
- (2023-02-09) Updated to version: hs-recv-0.0.0nb1
- (2023-01-27) Package added to pkgsrc.se, version hs-recv-0.0.0 (created)
CVS history: (Expand)
2024-05-09 03:32:57 by Masatake Daimon | Files touched by this commit (1137) |
Log message:
Recursive revbump after changing the default Haskell compiler
|
2024-04-29 06:27:06 by Masatake Daimon | Files touched by this commit (1) |
Log message:
net/hs-recv: Fix build with GHC 9.8
This breaks build with the currently default GHC 9.6. Please bear with me
until I switch the default compiler.
|
2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141) |
Log message:
Revbump all Haskell after updating lang/ghc96
|
2023-10-27 13:03:52 by Masatake Daimon | Files touched by this commit (4) |
Log message:
net/hs-recv: Update to 0.1.0
No change log is provided by the upstream.
|
2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988) |
Log message:
Bump Haskell packages after updating lang/ghc94
|
2023-01-27 03:40:54 by Masatake Daimon | Files touched by this commit (5) |
Log message:
net/hs-recv: import hs-recv-0.0.0
This module provides efficient receiving functions from the network. recv
uses createAndTrim which behaves as follows:
* Allocates a buffer whose size is decided from the first argument.
* Receives data with the buffer.
* Allocates another buffer whose size fits the received data.
* Copies the data from the first buffer to the second buffer.
On 64bit machines, the global lock is taken for the allocation of a byte
string whose length is larger than or equal to 3272 bytes. So, for
instance, if 4,096 is specified to recv and the size of received data is
3,300, the global lock is taken twice with the copy overhead.
The efficient receiving functions provided here use a buffer pool. A large
buffer is allocated at the beginning and it is divided into a used one and
a leftover when receiving. The latter is kept in the buffer pooll and will
be used next time. When the buffer gets small and usefless, a new large
buffer is allocated.
|