Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Real-time QoS guarantees for event reporting #6

Open
KyleBenson opened this issue May 10, 2014 · 1 comment
Open

Real-time QoS guarantees for event reporting #6

KyleBenson opened this issue May 10, 2014 · 1 comment

Comments

@KyleBenson
Copy link
Owner

We need to implement some form of real-time QoS guarantees in the EventReporter. That is, if enough events are generated within the system, we need to pick only the highest priority ones to send such that we don't create an infinite backlog of unreported events. This is especially important for the Sigfox publisher, whose ultra-low bandwidth capabilities mean that we likely won't be able to report every single event generated but should only report higher-priority events (we should also guarantee that we don't create DUPLICATE EVENTS when they are also reported via MQTT).

We can still store the unreported messages in local storage and send them again later when there are fewer events being generated and/or we have more bandwidth available, but let's save that for a future enhancement and just get the initial real-time system working for now.

@bfrggit bfrggit changed the title real-time QoS guarantees for event reporting Real-time QoS guarantees for event reporting Jan 23, 2015
@KyleBenson
Copy link
Owner Author

We implemented an initial version of this that basically finds the first EventSink (in the order they were added) that's available and sends it. Could alternatively have a configurable policy such as: all, all-highest, highest, first-available

Where highest/first are some notion of priority.

Furthermore, EventReporter could be cleaned up as it has a bunch of poorly documented hacks in it currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant