Skip to content

Asynchronous RPC via MQTT for header-only C++

License

Notifications You must be signed in to change notification settings

heisenware/vrpc-hpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VRPC - Variadic Remote Procedure Calls

GitHub license Semver GitHub Releases GitHub Issues ci

Visit our website: vrpc.io

What is VRPC?

VRPC is an enhancement of the old RPC (remote procedure calls) idea. Like RPC, it allows to directly call functions written in any programming language by functions written in any other (or the same) programming language. Unlike RPC, VRPC uses an MQTT broker for message routing, and additionally supports:

  • non-intrusive adaption of existing code, making it remotely callable
  • remote function calls on many distributed receivers at the same time (one client - multiple agents)
  • service discovery
  • outbound-connection-only network architecture (thanks to MQTT technology)
  • isolated (multi-tenant) and shared access modes to remotely available resources
  • asynchronous language constructs (callbacks, promises, event-loops)
  • OOP (classes, objects, member functions) and functional (lambda) patterns
  • exception forwarding

VRPC is available for an entire spectrum of programming technologies including embedded (Arduino, header-only C++, etc.), data-science (Python, R, etc.), and web (Javascript, React, etc.) technologies.

As a robust and highly performing communication system it can build the foundation of complex digitization projects in the area of (I)IoT or Cloud-Computing.

VRPC is professionally managed and supported by Heisenware GmbH.

This is VRPC for C++ (as header-only library)

vrpc_hpp requires C++14 and the Boost Libraries 1.67.0 or later.

Understand how to use it by looking at the examples:

Get all the details by reading the documentation:

Releases

No releases published

Packages

No packages published

Languages