Releases: dallison/cpp_toolbelt
Minor updates
Bitmap allocator in PayloadBuffer
This adds an optional bitmap allocator to the PayloadBuffer class. A bitmap allocator uses a set of fixed size blocks to hold allocations that are less than or equal to the configured size. It has a bitmask specifying which blocks are allocated. It's about twice the speed of a simple free-list allocator but at the expense of using more memory in the buffer. That's fine if you are creating messages in shared memory where the message size isn't important, but could be a hinderance if you want smaller messages that go over a network.
Variable sized socket buffers and experimental bitmap allocator
This adds a variable sized socket receive function that allocates a vector of char to receive a message.
Also adds an experimental bitmap allocator to the payload buffer, but this is switched off for now until it works fully. Should speed
up allocations of small blocks by a factor of 2 but at the expense of bigger messages.
Payloadbuffer resize fix
Fixes an issue with resizing a payload buffer.
PayloadBuffer class
This adds a PayloadBuffer class for use with zero-copy messaging protocols.
PayloadBuffer on Linux
1.1.9 Add missing includes
PayloadBuffer class
1.1.8 Add PayloadBuffer class
FileDescriptors and coroutines
Incorporates some fixes for FileDescriptors and uses new coroutines library.
Also adds some fixes from Mikael.
Minor bug fixes
Fixes a few minor bugs with invalid address detection in sockets.
SharedPtrPipe class
This adds a SharedPtrPipe class which allows std::shared_ptr object to be carried by a pipe. It is useful for communicating between coroutines.