IPC - IPC is a C++ library that provides inter-process communication using shared memory on Windows

  •        715

IPC is a C++ library that provides inter-process communication using shared memory on Windows. A .NET wrapper is available which allows interaction with C++ as well.Integration with Bond is available at IPC.Bond.

https://github.com/Microsoft/IPC

Tags
Implementation
License
Platform

   




Related Projects

ecal - eCAL - enhanced Communication Abstraction Layer

  •    C++

The enhanced Communication Abstraction Layer (eCAL) is a middleware that enables scalable, high performance interprocess communication on a single computer node or between different nodes in a computer network. eCAL uses a publish - subscribe pattern to automatically connect different nodes in the network. Visit the eCAL Documentation at 🌐 http://ecal.io for more information.

node-ipc - Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP

  •    HTML

a nodejs module for local and remote Inter Process Communication with full support for Linux, Mac and Windows. It also supports all forms of socket communication from low level unix and windows sockets to UDP and secure TLS and TCP sockets. This work is licenced via the DBAD Public Licence.

tcpshm - A connection-oriented persistent message queue framework based on TCP or SHM(shared memory)

  •    C++

When using TCP to transfer data, sent out messages are not guaranteed to be received or handled by the receiver, and even worse, we often get unexpected disconnections due to network issues or program crash, so efforts have been made on recovery procedure to ensure both sides are synced. TCPSHM provides a reliable and efficient solution based on a sequence number and acknowledge mechanism, that every sent out msg is persisted in a send queue until sender got ack that it's been consumed by the receiver, so that disconnects/crashes are tolerated and the recovery process is purely automatic. And as the name implies, shared memory is also supported when communicating on the same host, and it provides the same API and behavior as TCP(so whether TCP or SHM underlies the connection is transparent to the user), but it's more than 20 times faster than TCP on localhost(However TCP is still 3 times faster than ZeroMQ IPC, see Performance). The shared memory communication is based on A real-time single producer single consumer msg queue.

sharedhashfile - Share Hash Tables Stored In Memory Mapped Files Between Arbitrary Processes & Threads

  •    C

SharedHashFile is a lightweight NoSQL key value store / hash table, a zero-copy IPC queue, & a multiplexed IPC logging library written in C for Linux. There is no server process. Data is read and written directly from/to shared memory or SSD; no sockets are used between SharedHashFile and the application program. APIs for C, C++, & nodejs. Data is kept in shared memory by default, making all the data accessible to separate processes and/or threads. Up to 4 billion keys can be stored in a single SharedHashFile hash table which is limited in size only by available RAM.

Hermes - A smart, novel and easy-to-use framework for Android Inter-Process Communication (IPC)

  •    Java

A smart, novel and easy-to-use framework for Android Inter-Process Communication (IPC). Hermes is a smart, novel and easy-to-use framework for Android Inter-Process Communication (IPC). In this framework, you can use IPC even if you do not understand the underneath principle of Android IPC.


Message Broker

  •    

A simple pub/sub message broker for IPC communication in .Net. Currently written for the .Net Compact Framework in C# but is portable to the desktop version. The broker relies on "Named Events" for IPC communication and uses a 'push-pull' model to streamline consumption rates.

Sharp.Interprocess

  •    

Code library that contains utilities for interprocess communication

yarp - YARP - Yet Another Robot Platform

  •    C++

YARP is a library and toolkit for communication and device interfaces, used on everything from humanoids to embedded devices. Regular YARP builds use the ACE library. On Linux and macOS, YARP can be compiled without ACE by adding -DSKIP_ACE=TRUE when running cmake.

Aeron - Efficient reliable unicast and multicast transport protocol

  •    Java

Aeron is an efficient reliable unicast and multicast transport protocol. The Aeron protocol is designed to be run directly over many different types of transmission media, including shared memory/IPC, InfiniBand/RDMA, UDP, TCP, Raw IP, HTTP, WebSocket, BLE, etc.

ipc-channel - A multiprocess drop-in replacement for Rust channels

  •    Rust

ipc-channel is an implementation of the Rust channel API (a form of communicating sequential processes, CSP) over the native OS abstractions. Under the hood, this API uses Mach ports on the Mac and file descriptor passing over Unix sockets on Linux. The serde library is used to serialize values for transport over the wire. Note that both IpcSender<T> and IpcReceiver<T> implement Serialize and Deserialize, so you can send IPC channels over IPC channels freely, just as you can with Rust channels.

i3ipc-python - An improved Python library to control i3wm.

  •    Python

An improved Python library to control i3wm. i3's interprocess communication (or ipc) is the interface i3wm uses to receive commands from client applications such as i3-msg. It also features a publish/subscribe mechanism for notifying interested parties of window manager events.

cpprestsdk - The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design

  •    C++

The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.For other platforms, install options, how to build from source, and more, take a look at our Documentation.

libshbuf

  •    C

libshbuf introduces a new IPC concept: the quot;shared bufferquot;, a more flexible and faster alternative for standard Unix FIFOs. Take some shared memory, flavour it with semaphore based locking and change notifications and refine it with an easy-to-use API.

Agrona - Library to build high-performance applications in Java and C++

  •    Java

Agrona provides a library of data structures and utility methods that are a common need when building high-performance applications in Java and C++. It supports Buffers, Map, Sets, Cache, Queues and lot more.

perl5-gpg

  •    Perl

GPG is a Perl5 interface to gnupg (see http://www.gnupg.org). You can use standard scalar to communicate with gnupg. IPC is managed by IPC::Open3.

HermesEventBus - A library for using EventBus between processes, useful in the IPC or plugin development

  •    Java

HermesEventBus is a library for using EventBus between processes, useful in the IPC or plugin development. It provides the same APIs as EventBus and is easy to use. EventBus is one of the most widely-used libraries which simplifies communication between different components in Android. However, it does not support event posting between processes.

IPC 175x Utilities

  •    Java

IPC 175x Utilities is a collection of software tools to support the IPC 1750 series of supplier declaration standards. These utilities are being developed to help electronics industry supply chain stakeholders implement the IPC 1750 series of standard.

FlaUI - UI automation library for .Net

  •    CSharp

FlaUI is a .NET library which helps with automated UI testing of Windows applications (Win32, WinForms, WPF, Store Apps, ...). It is based on native UI Automation libraries from Microsoft and therefore kind of a wrapper around them. FlaUI wraps almost everything from the UI Automation libraries but also provides the native objects in case someone has a special need which is not covered (yet) by FlaUI. Some ideas are copied from the UIAComWrapper project or TestStack.White but rewritten from scratch to have a clean codebase. So, the commercial solutions are mostly based on multiple of those and/or implement a lot of workaround code to fix those issues. TestStack.White has two versions, one for UIA2 and one for UIA3 but because of the old codebase, it's fairly hard to bring UIA3 to work. For this, it also uses an additional library, the UIAComWrapper which uses the same naming as the managed UIA2 and wraps the UIA3 com interop with them (one more source for errors). FlaUI now tries to provide an interface for UIA2 and UIA3 where the developer can choose, which version he wants to use. It should also provide a very clean and modern codebase so that collaboration and further development is as easy as possible.

MMWormhole - Message passing between iOS apps and extensions.

  •    Objective-C

MMWormhole creates a bridge between an iOS or OS X extension and its containing application. The wormhole is meant to be used to pass data or commands back and forth between the two locations. Messages are archived to files which are written to the application's shared App Group. The effect closely resembles interprocess communication between the app and the extension, though true interprocess communication does not exist between extensions and containing apps. The wormhole also supports CFNotificationCenter Darwin Notifications in an effort to support realtime change notifications. When a message is passed to the wormhole, interested parties can listen and be notified of these changes on either side of the wormhole. The effect is nearly instant updates on either side when a message is sent through the wormhole.

CommLib

  •    C

CommLib is an IPC library for Unix systems. It allows related and unrelated process to communicate using several methods (FIFOs, PIPEs, shared memory, RPC etc.) using unique, consistent APIs. This will allow the programmer to choose the best and most perf






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.