SharedMemory 2.0.16

There is a newer version of this package available.
See the version list below for details.
dotnet add package SharedMemory --version 2.0.16                
NuGet\Install-Package SharedMemory -Version 2.0.16                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SharedMemory" Version="2.0.16" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SharedMemory --version 2.0.16                
#r "nuget: SharedMemory, 2.0.16"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SharedMemory as a Cake Addin
#addin nuget:?package=SharedMemory&version=2.0.16

// Install SharedMemory as a Cake Tool
#tool nuget:?package=SharedMemory&version=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: https://sharedmemory.codeplex.com/documentation

Product Compatible and additional computed target framework versions.
.NET Framework net35 is compatible.  net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on SharedMemory:

Package Downloads
Nine.Hosting

Hosting environment for dynamic client side development based on DNX

Sers.CL.Ipc.SharedMemory

Sers Microservices - Communication Layer

GitHub repositories (4)

Showing the top 4 popular GitHub repositories that depend on SharedMemory:

Repository Stars
goatcorp/FFXIVQuickLauncher
Custom launcher for FFXIV
automuteus/amonguscapture
Capture of the local Among Us executable state
sidristij/dotnetex
Gets size of .Net Framework objects, can change type of object to incompatible and can alloc .Net objects at unmanaged memory area
tunerok/unity_browser
Open source Unity3d web browser created by Vitaly Chashin https://bitbucket.org/vitaly_chashin/simpleunitybrowser
Version Downloads Last updated
2.3.2 62,591 2/3/2022
2.2.3 48,683 4/15/2020
2.1.1 51,953 12/12/2018
2.1.0 4,440 5/24/2018
2.0.16 37,084 9/29/2016
2.0.15 4,194 7/25/2016
1.1.4 3,799 12/4/2014
1.0.1 3,197 11/2/2014

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