Skip to content

Releases: dallison/subspace

Cmake and retirement fds

24 Jul 00:43
Compare
Choose a tag to compare

Many thanks to @dloman for the cmake build files. I appreciate it Dan.

This adds cmake build files and retirement fds. Cmake has been checked on Linux with GCC and clang. On Mac it works with Apple Clang.

Retirement fds allow a publisher to be notified when a slot has been retired (either by all subscribers or by a message being dropped). This is useful for determining when resources can be freed at the publisher.

Release 2.0.2

19 Jul 23:36
Compare
Choose a tag to compare

Fixes an issue with resize where the shared memory files were unmapped but not deleted when they are no longer referenced.

Just update to latest toolbelt

16 Jul 19:49
Compare
Choose a tag to compare

Just updates the version of cpp_toolbelt

Subspace version 2

09 Jul 22:34
Compare
Choose a tag to compare

This is a major release of Subspace that supports the following new features:

  1. Lock-free shared memory. This removes the lock from shared memory to provide better freedom from interference and better P90 performance (few context switches)
  2. Client-side buffer allocation. This moves the channel buffer allocation from the server to the client to speed up resize operations
  3. Multiplexed virtual channels. This allows channels that all share the same message types and purpose to use a single multiplexer channel for their data. If your IPC design uses a lot of channels that are all similar (like node tick channels), this can reduce the memory utilization.
  4. C client. A C-language client that maps onto the C++ client. More portable and easier to interface with other languages.
  5. Active messages. Message objects returned from ReadMessage are now active and will hold onto the channel's slot while they are alive. They can be moved but not copied. This is a replacement for the old subspace::shared_ptr<T> type and is used for all messages.

Minor fix for Linux compilers

17 Nov 00:11
Compare
Choose a tag to compare

Adds a missing include for cstddef

Shared and weak pointer fixes

30 Jul 00:23
Compare
Choose a tag to compare

Fixes some races and reference counting issues in shared_ptr and weak_ptr

Fix NextSlot for out of message condition

09 Mar 19:57
Compare
Choose a tag to compare

This was broken by a recent change. Reverts the change. The subscriber needs to hold onto the last slot it saw so that NextSlot can refer to a valid slot. The slot can't be recycled.

Some bug fixes

08 Mar 01:38
Compare
Choose a tag to compare

Fixes problems with resizing.

A few bugs fixes and tidyups

25 Jan 18:32
Compare
Choose a tag to compare

Incorporates some changes from Mikael for MIRSA compliance and fixes a few bugs.

1.3.1: Fix dropped message detection

08 Sep 19:31
Compare
Choose a tag to compare

Fixes a small issue with dropped message detection (should only be reported when reading next, not newest messages).

Also, upgrades to latest coroutines and toobelt releases that fix bitset bugs.