aschaeffer / inexor-rgf-plugin-mqtt

Inexor - Reactive Graph Flow - Plugin - MQTT

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Inexor Reactive Graph Flow

Project Module Sub-Module Functionality Tests
Reactive Graph Flow Plugin MQTT

About Inexor

  • Inexor will be a new first-person shooter game which is based on a new octree-based game engine.
  • Inexor focuses on classic gameplay as we've seen in Cube2 or the Quake series.
  • Inexor will be written from ground up new in C++17 and Rust.
  • You can contribute anything you want: code, content, ideas..
  • Inexor and all its content is 100% open source!

About Inexor Reactive Graph Flow

The Inexor Reactive Graph Flow (RGF) manages reactive flows based on a graph database. The main interface is GraphQL.

  • Semantic: Graph database with entities and relationships as first class citizens
  • Reactive: entities and relationships are/can be reactive: If the input has been altered the entity processes its new state
  • Interoperable: Use GraphQL for queries and mutations
  • Extendable: Built in type system: components, entity types and relation types
  • Memory efficient: Rust
  • Fast: Rust
  • Secure: Rust

About this plugin

This plugin provides the type system, interfaces and services for the MQTT protocol.

Platform Compatibility

Platform Compatibility
Linux
MacOS (✓)
Windows (✓)

Type System

Visualisation of the graph type system

Components

Name Description Properties
mqtt_endpoint payload
mqtt_topic topic
mode

Entity Types

Name Description Components Properties
mqtt_broker hostname
port
send_package
received_package
mqtt_publisher mqtt_endpoint payload
mqtt_subscriber mqtt_endpoint payload

Relation Types

Name Description Components Source Entity Type Target Entity Type
mqtt_publishes mqtt_topic mqtt_publisher mqtt_broker
mqtt_subscribes mqtt_topic mqtt_broker mqtt_subscriber

Instance System

Visualisation of the graph instance system

This is the graph representation of a publish/subscribe interaction with an MQTT-Broker. Multiple MQTT-Brokers can exist.

  • Multiple mqtt_publishers are mqtt_publishes to a topic on the mqtt_broker. A user can write into the payload property of a mqtt_publisher in order to publish a message.
  • Multiple mqtt_subscribers are mqtt_subscribes a topic on the mqtt_broker. A user can read from the payload property of a mqtt_subscriber in order to receive a new message.
  • The MQTT topic is configured on the relationships (mqtt_publishes, mqtt_subscribes)

Thanks to

Sponsors

JetBrains Special thanks to JetBrains for providing us with CLion licenses!

About

Inexor - Reactive Graph Flow - Plugin - MQTT

License:MIT License


Languages

Language:Rust 100.0%