Skip to content

OpenframeProject/Openframe-PubSubServer

Repository files navigation

Openframe-PubSubServer

A central publish-subscribe event bus and real-time message broker for Openframe.

This repo represents the Global Event Bus (pubsub) in the following diagram. It is designed to run as an independent service (optionally on an independent box) from the API Server.

![alt tag](https://raw.github.com/OpenframeProject/Openframe-API/restify/docs/img/API Diagram.jpg)

Overview

This is a very basic implementation using Faye. It acts purely as an event bus, with no persistence or message queue.

The pubsub server keeps track of which frames are connected in order to send out a 'disconnected' event when a frame's connection is closed.

As it is a Faye server, clients can connect using the Faye client.

Usage

To start up the server from the command line:

$ npm start

# to see debug output
$ DEBUG=pubsub npm start

Or programmatically:

var pubsubServer = require('openframe-pubsubserver');

// defaults to port 8889
pubsubServer.start();

// or pass a port into the start method:
// pubsubServer.start(1234);

Built-in System Events (WIP)

/frame/connected

payload: frame_id

/frame/disconnected

payload: frame_id

/frame/{frame_id}/connected

payload: frame_id

/frame/{frame_id}/disconnected

payload: frame_id

/frame/{frame_id}/db_updated

payload: frame instance

/frame/{frame_id}/frame_updating

payload: frame_id

/frame/{frame_id}/frame_updated

payload: frame_id

Proposed

/frame/{frame_id}/display_on

payload: frame_id

/frame/{frame_id}/display_off

payload: frame_id

About

A central publish-subscribe event bus for Openframe.

Resources

License

Stars

Watchers

Forks

Packages

No packages published