Plugfy.Core.Data.Communication.SharedMemory 1.0.8

dotnet add package Plugfy.Core.Data.Communication.SharedMemory --version 1.0.8
                    
NuGet\Install-Package Plugfy.Core.Data.Communication.SharedMemory -Version 1.0.8
                    
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="Plugfy.Core.Data.Communication.SharedMemory" Version="1.0.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Plugfy.Core.Data.Communication.SharedMemory" Version="1.0.8" />
                    
Directory.Packages.props
<PackageReference Include="Plugfy.Core.Data.Communication.SharedMemory" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Plugfy.Core.Data.Communication.SharedMemory --version 1.0.8
                    
#r "nuget: Plugfy.Core.Data.Communication.SharedMemory, 1.0.8"
                    
#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.
#:package Plugfy.Core.Data.Communication.SharedMemory@1.0.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Plugfy.Core.Data.Communication.SharedMemory&version=1.0.8
                    
Install as a Cake Addin
#tool nuget:?package=Plugfy.Core.Data.Communication.SharedMemory&version=1.0.8
                    
Install as a Cake Tool

logo_plugfy_core_foundation_256x55

Shared Memory Communication Extension

Overview

The Shared Memory Communication Extension is a part of the larger framework designed to facilitate inter-process communication via shared memory using memory mapped files. This extension provides a robust and efficient method for data exchange between different processes, leveraging the high-speed access of shared memory along with synchronization mechanisms to ensure data integrity and consistency.


Features

  • High-Performance Inter-Process Communication: Utilizes shared memory for rapid data transfer between processes.
  • Synchronization and Signaling: Implements mutexes and event wait handles to manage access control and notify processes of available data.
  • Flexible Data Handling: Supports dynamic JSON serialized data structures for communication.
  • Easy Integration: Seamlessly integrates with existing systems that support .NET, offering a straightforward setup process.
  • Robust Error Handling: Includes comprehensive error management to ensure stable operation even in edge cases.

Installation

To integrate the Shared Memory Communication Extension into your project, follow these steps:

  1. Clone the repository to your local machine.
  2. Include the project in your solution or reference the built assembly directly.
  3. Ensure your project targets .NET Framework 8 or higher.

Usage

To use the Shared Memory Communication Extension, initialize an instance of the SharedMemory class and configure it with a unique memory map name and optional buffer size. Start the communication by calling InitializeAsync and StartListeningAsync to begin data transmission.

Example:

var sharedMemory = new SharedMemory();
await sharedMemory.InitializeAsync(new { MapName = "ExampleMap", MapSize = 4096 });
await sharedMemory.StartListeningAsync();

License

This project is licensed under the GNU General Public License v3.0. See GNU GPL v3.0 for details.


Contributing

We welcome contributions! To contribute:

  1. Fork the repository.
  2. Create a new feature branch (git checkout -b feature-new).
  3. Commit changes (git commit -m "Added new feature").
  4. Push to the branch (git push origin feature-new).
  5. Submit a Pull Request.

For major changes, open an issue first to discuss the proposed changes.


Contact

For inquiries, feature requests, or issues, please open a GitHub issue or contact the Plugfy Foundation.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.8 123 2/18/2025
1.0.7 103 2/16/2025
1.0.6 112 2/16/2025
1.0.4 112 2/15/2025
1.0.3 122 2/9/2025
1.0.2 105 2/6/2025