SharedMemory 2.0.16

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 and .NET 4
* fast generic structure reading/writing

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

Install-Package SharedMemory -Version 2.0.16
dotnet add package SharedMemory --version 2.0.16

Release Notes

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

Dependencies

This package has no dependencies.

Version History

Version Downloads Last updated
2.0.16 (current version) 1,680 9/29/2016
2.0.15 2,689 7/25/2016
1.1.4 1,357 12/4/2014
1.0.1 1,478 11/2/2014