Git Product home page Git Product logo

ir-utsunomiya / shared-memory-based-handy-communication-manager Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 1.0 2.68 MB

This library makes it easy to use slightly advanced interprocess communication using ring buffers and condition variables.

Home Page: https://ir-utsunomiya.github.io/shared-memory-based-handy-communication-manager/

License: Apache License 2.0

CMake 14.23% C++ 85.77%
interprocess-communication-library cpp shared-memory boost-python

shared-memory-based-handy-communication-manager's Introduction

SHM

Abstruct

SHM is short for "Shared-memory based Handy-communication Manager". This provides ROS(Robot Operating System)-like interprocess communication such as Topic, Service and Action with shared memory. This is based on the library developed by Dr. Prof. Koichi Ozaki for his laboratory.

DEMO

shm_movie

This is Publisher/Subscriber model communication demo. Left terminal publish class user made. Right terminal subscribe class.

Features

  • High-speed interprocess communication (expectation)
  • If the class you made is fixed size, the class can be used with nothing.
  • Access restrictions can be set up with POSIX shared memory permission.

Requirements

  • POSIX shared memory system

    SHM use POSIX shared memory system. The system is included in Linux such as Ubuntu.

  • Python3 (optional)

    SHM support the usecase with Python.

  • Boost.Python (optional)

    This library is required for support the usecase with Python.

How to build

This use CMake to build. Below is how to introduce and build SHM.

  1. clone or add for submodule this repository.

    $ cd <Your_cmake_ws>/src
    $ git clone https://github.com/ir-utsunomiya/shared-memory-based-handy-communication-manager.git
    or
    $ git submodule add https://github.com/ir-utsunomiya/shared-memory-based-handy-communication-manager.git
    $ gedit CMakeLists.txt
    add "add_subdirectory(shared-memory-based-handy-communication-manager)"
    
  2. build programs.

    $ cd <Your_cmake_ws>/build
    $ cmake ..
    $ make
    

Manuals / Tutorials

TODO: We will add manuals and tutorials to Github Pages

License

SHM is under Apache 2.0 License.

shared-memory-based-handy-communication-manager's People

Contributors

daihen-hijikata avatar hijimasa avatar

Watchers

 avatar  avatar

Forkers

hijimasa

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.