Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

S.I.M.P.L.E.

Smart Intuitive Messaging Platform with Less Effort.

Build Status Build status codecov


S.I.M.P.L.E. (or just simple) is a cross-platform C++ library to easily exchange data across a network.
It is built on top of ZeroMQ and uses custom FlatBuffers messages.
It provides a clean interface to the classic Publisher-Subscriber and Request-Reply patterns.

simple can be used on Windows, Linux and OSX.


Dependencies

  • A C++11 compiler (tested on gcc-5, clang-3.8, msvc14 and msvc15.)
  • CMake 3.3+
  • ZeroMQ 4.2.4+
  • cppzmq 4.3.1+
  • FlatBuffers 1.9.0+

What can I send/receive?

simple offers a light interface to FlatBuffers messages.
Common messages are provided and live under simple_msgs.
New messages can be defined - in the simple_msgs format - and sent/received using the same interface.

Usage

Install the binaries
Build from source: on Windows or Linux/Mac OSX.
Use in your C++ project: via CMake. We suggest Windows users to link to the static version of simple.

Publisher / Subscriber

  • A Publisher sends (publishes) data to any Subscriber that is listening to its IP address/port.
  • A Subscriber waits for new data from a Publisher and asynchrounsly receives it.
    An example of the Publisher/Subscriber pattern in C++ is available here.

Request / Reply

  • A Client sends a request to an IP address/port of a Server and expects a reply from it.
  • A Server waits for requests and asynchrounsly replies to a Client.
    An example of the Client/Server pattern in C++ is available here.

Inspiration from ROS

We are heavy (and happy) ROS users and we aim to provide a very similar interface.


Contacts

TUM
Chair for Computer Aided Medical Procedures
Technical University of Munich, Germany.

Salvatore Virga> : salvo.virga@tum.de
Fernanda Levy Langsch : fernanda.langsch@tum.de


License

simple is distributed under the MPL v2.0 License. See LICENSE for details.