All Projects → ShawnFeng0 → uorb

ShawnFeng0 / uorb

Licence: MIT license
C++ inter-thread publish/subscribe middleware ported from PX4 and redesigned based on POSIX

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
EmberScript
38 projects
CMake
9771 projects

Projects that are alternatives of or similar to uorb

talek
a Private Publish Subscribe System
Stars: ✭ 39 (+11.43%)
Mutual labels:  pubsub, publish-subscribe
angular-PubSub
Angular 1.x implementation of the Publish–Subscribe pattern.
Stars: ✭ 32 (-8.57%)
Mutual labels:  pubsub, publish-subscribe
cloudenvoy
Cross-application messaging for Ruby and Rails using Google Cloud Pub/Sub
Stars: ✭ 31 (-11.43%)
Mutual labels:  pubsub, publish-subscribe
Wisper
A micro library providing Ruby objects with Publish-Subscribe capabilities
Stars: ✭ 3,014 (+8511.43%)
Mutual labels:  pubsub, publish-subscribe
payload
A javascript single page application (SPA) driver for REST API payload management.
Stars: ✭ 16 (-54.29%)
Mutual labels:  pubsub, publish-subscribe
Open62541
Open source implementation of OPC UA (OPC Unified Architecture) aka IEC 62541 licensed under Mozilla Public License v2.0
Stars: ✭ 1,643 (+4594.29%)
Mutual labels:  pubsub, publish-subscribe
streamr-client-javascript
JS library for interacting with Streamr APIs: publishing and subscribing to data, creating streams, etc.
Stars: ✭ 35 (+0%)
Mutual labels:  pubsub
eda
eda is a library for implementing event-driven architectures.
Stars: ✭ 31 (-11.43%)
Mutual labels:  publish-subscribe
network
Monorepo containing all the main components of Streamr Network.
Stars: ✭ 522 (+1391.43%)
Mutual labels:  pubsub
tips
TiKV based Pub/Sub server
Stars: ✭ 31 (-11.43%)
Mutual labels:  pubsub
walrus
🕑 Real-time event streaming platform built on top of gRPC streams
Stars: ✭ 15 (-57.14%)
Mutual labels:  publish-subscribe
windowed-observable
Messaging lib using a pub/sub observable scoped by namespaces.
Stars: ✭ 132 (+277.14%)
Mutual labels:  pubsub
ipfs-pubsub-chatroom
Simple IPFS Pubsub chatroom built on React
Stars: ✭ 45 (+28.57%)
Mutual labels:  pubsub
evon
Fast and versatile event dispatcher code generator for Golang
Stars: ✭ 15 (-57.14%)
Mutual labels:  pubsub
pulsar-io-kafka
Pulsar IO Kafka Connector
Stars: ✭ 24 (-31.43%)
Mutual labels:  pubsub
pubsub-c
Pub/Sub library for C
Stars: ✭ 39 (+11.43%)
Mutual labels:  pubsub
js-data-structures
🌿 Data structures for JavaScript
Stars: ✭ 56 (+60%)
Mutual labels:  pubsub
pubsub cli
super handy google cloud Pub/Sub CLI
Stars: ✭ 32 (-8.57%)
Mutual labels:  pubsub
tgip
TGIP (TGI Pulsar) is a weekly live video streaming about Apache Pulsar and its ecosystem.
Stars: ✭ 17 (-51.43%)
Mutual labels:  pubsub
aop
AMQP on Pulsar protocol handler
Stars: ✭ 93 (+165.71%)
Mutual labels:  pubsub

uORB

Tests

English | 中文

The uORB is an asynchronous publish() / subscribe() messaging API used for inter-thread communication. "UORB" is the abbreviation of Micro Object Request Broker.

uORB was originally a messaging middleware in PX4 Autopilot, run on Nuttx rtos or Linux:

The project was re-implemented based on POSIX based on the original API, some redundant software layers were removed, and only most of the core functions were retained. Some of these improvements and fixes have been merged upstream of PX4.

Features

  • Based on POSIX, good compatibility
  • Real-time response mechanism similar to poll() function
  • A flexible and easy-to-use C++ interface, which can operate topics like local structures

Dependencies

Compiling the uorb library requires the support of c++11, and most compilations are currently supported.

We have a message generator that can easily generate message meta-data. These libraries are needed to make it work:

pip3 install -r ${UORB_REPO_PATH}/tools/msg/tools/requirements.txt

Documentation

Examples

uorb-examples

Tools

uorb topic listener

uorb also has a topic listener library. It is responsible for starting a tcp server, which is convenient for developers to monitor uorb topic data in real time outside the process.

Here is an example of using this listener.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].