-
Notifications
You must be signed in to change notification settings - Fork 28
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
Add separate message queue for each address (device or broadcast) (base branch es2015) #60
base: es2015
Are you sure you want to change the base?
Add separate message queue for each address (device or broadcast) (base branch es2015) #60
Conversation
@MariusRumpf I tried reaching you through Gitter but since I was not sure if you're following it these days, I decided to push my initial I see the CI stuff is failing, probably because the project needs to be built first. I'll see if I can do something about that but as I'm not familiar with any of the CI services I would appreaciate if you could help with this. |
d1f54b2
to
06214ca
Compare
Codecov Report
@@ Coverage Diff @@
## es2015 #60 +/- ##
==========================================
+ Coverage 58.41% 58.74% +0.33%
==========================================
Files 50 50
Lines 1688 1704 +16
Branches 255 259 +4
==========================================
+ Hits 986 1001 +15
- Misses 702 703 +1
Continue to review full report at Codecov.
|
06214ca
to
c7bf72a
Compare
c7bf72a
to
02528d6
Compare
This modifies Client implementation to hold a separate message queue and send timer for each device or multicast address. This should give a noticeable speedup when sending packets to multiple devices.
The LIFX protocol spec defines the maximum message rate which is defined in
constants.js
as:However the number is the maximum rate to send for each device, not the rate of messages in the network. With having a separate message queue for each device we can achieve near immediate response in all lights when multiple lights are addressed at once.