hardbyte / hardbyte/python-can
Implement a configurable rate limit
Open
enhancement
- Dominant language
- Python
- Stars
- 1.6k
- Forks
- 697
- PR merge metrics
- No merged PRs in 30d
Description
I am using python-can (more specifically canopen) to send out messages to a bunch or nodes.
Issues seem to arise when I send a lot of packets at the same time, my assumption is that the recipients can not keep up with the frame stream, and thus packets are dropped.
My Idea is to implement some sort of rate limiting, for example by passing messages to a queue and having the library send out all queued messages with an interval inbetween.
Something like
```
queue = queue.Queue()
while True:
msg = queue.get() # blocking
transmit(msg)
time.sleep(1 / self.max_messages_per_second)
```
Cheers!
Contributor guide
Assessment
This issue has not been assessed yet.