SharedMemory 2.1.0

The SharedMemory class library provides a set of C# classes that utilise a memory-mapped file for fast low-level inter-process communication (IPC) - specifically for sharing data between processes.

It features:
* a lock-free FIFO circular buffer
* a simple fixed-size generic shared memory array class
* an implementation of a shared memory buffer for read/write.
* support for memory-mapped files in .NET 3.5/4/4.5 and .NET Core 2.0
* fast generic structure reading/writing

Usage: http://sharedmemory.codeplex.com/documentation

Install-Package SharedMemory -Version 2.1.0
dotnet add package SharedMemory --version 2.1.0
paket add SharedMemory --version 2.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

2.1.0
1. Add .NET Core 2 target and update to use dotnet project files (VS2017) (#29)
       
2.0.16
1. Prevent possible deadlock situation with incorrect Acquire and Release of read/write locks in BufferWithLocks (affects BufferReadWrite and SharedArray).

2.0.15
1. Breaking change: Array, Buffer, and Header classes renamed to SharedArray, SharedBuffer, and SharedHeader
2. Important breaking change! CircularBuffer Read/Write operations now allow an index to be specified. Check existing code as it may be passing a timeout value into index!
3. Circular buffer keeps track of amount written to a node and uses this during read operations
4. SharedArray implements IList
5. ArraySlice implementation added
6. FastStructure now performs type compatibility check within static constructor
7. A couple of bug fixes
8. A number of unit test fixes, minor corrections to comments and changes to make parameter names consistent

1.1.4
1. Implemented basic memory-mapped file support for .NET 3.5
2. Added generic FastStructure class for fast reading/writing of structures (using emitted IL with DynamicMethod)
3. Fixed offset bug in CircularBuffer.Read/Write(IntPtr, int, int)

1.0.1:
1. Improved usage consistency by changing Buffer.Open to protected (breaking change)
2. BufferReadWrite now opens buffer in constructor
3. CircularBuffer now opens in constructor
4. Added read/write single structure overloads to CircularBuffer
5. Added XML documentation to NuGet package

  • .NETCoreApp 2.0

    • No dependencies.
  • .NETFramework 3.5

    • No dependencies.
  • .NETFramework 4.0

    • No dependencies.
  • .NETFramework 4.5

    • No dependencies.

Version History

Version Downloads Last updated
2.1.0 (current) 100 5/24/2018
2.0.16 5,462 9/29/2016
2.0.15 2,795 7/25/2016
1.1.4 1,488 12/4/2014
1.0.1 1,544 11/2/2014