-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
ZeroMQ read handler #566
ZeroMQ read handler #566
Conversation
This uses zmq_getsockopt(ZMQ_FD) to create a libfrr read event, which then wraps zmq_poll and calls an user-specified ZeroMQ read handler. It's wrapped in a separate library in order to make ZeroMQ support an installation-time option instead of build-time. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Continous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-740/ This is a comment from an EXPERIMENTAL automated CI system. |
I really like this approach and I agree is way better isolated so easier to integrate. The reason we modified thread.c was to replace standard
If anybody is interested, have a look at this. |
hmm... isn't that functionally the same as 2 receive calls? first an empty one, then the data? |
discussed on slack => will change to 2 handlers, one doing no message receiving, the other receiving all parts of the message (however many there may be) |
will put new version up |
this looks interesting. |
This uses zmq_getsockopt(ZMQ_FD) to create a libfrr read event, which then wraps zmq_poll and calls an user-specified ZeroMQ read handler. It's wrapped in a separate library in order to make ZeroMQ support an installation-time option instead of build-time. Extended to support per-message and per-fragment callbacks as discussed with Bingen in PR FRRouting#566. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This uses zmq_getsockopt(ZMQ_FD) to create a libfrr read event, which then wraps zmq_poll and calls an user-specified ZeroMQ read handler. It's wrapped in a separate library in order to make ZeroMQ support an installation-time option instead of build-time. Extended to support per-message and per-fragment callbacks as discussed with Bingen in PR FRRouting#566. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
this is "the other way around" compared to PR #522.
I believe this is far easier to integrate and have less conflicts / impact on other changes in our event loop.
@bingen can you check if this works for your code?