Downloads of v 2.0.16


Average downloads per day


Last published

Share on Social Networks



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

To install SharedMemory, run the following command in the Package Manager Console

Install-Package SharedMemory

Release Notes

1. Prevent possible deadlock situation with incorrect Acquire and Release of read/write locks in BufferWithLocks (affects BufferReadWrite and SharedArray).

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. 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. 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



Justin Stenning


Copyright (c) 2014 Justin Stenning



This package has no dependencies.

Version History

Version Downloads Last updated
SharedMemory 2.0.15 1,784 Monday, July 25, 2016
SharedMemory 1.1.4 1,303 Thursday, December 4, 2014
SharedMemory IPC 1.0.1 1,444 Sunday, November 2, 2014