Coder Social home page Coder Social logo

Poll monitoring sockets about cppzmq HOT 4 OPEN

v1bri avatar v1bri commented on August 16, 2024
Poll monitoring sockets

from cppzmq.

Comments (4)

a4z avatar a4z commented on August 16, 2024

I have just split the blocking function without breaking the existing interface.
b838563
now you can use monitor_t non blocking in the same thread as the monitored, or any other, socket.

the socket is currently not public, but I have a similar use case like you describe and might adopt it to be able to poll on the monitor and other socket in one poll item. But before I do this I would like to measure if this has a performance advantage over having 2 poll items.

Implicit conversion, like you suggest, is imho not like it should be in C++ since C++ should be type safe and strong typed.
also, I do not think that the sockets currently stored as void pointers it the best idea, so I think they should be typed.

from cppzmq.

lp35 avatar lp35 commented on August 16, 2024

Hey,

I'm also missing this feature. Why not making monitor_t inherit from socket_t?

IMHO, this would be a better RAII design (see #381), and force the user to configure the monitor in the constructor instead of using init() method.

from cppzmq.

sigiesec avatar sigiesec commented on August 16, 2024

I'm also missing this feature. Why not making monitor_t inherit from socket_t?

I think it is not necessary, it would be sufficient if a method were added to monitor_t that provides accessing to its _monitor_socket, IIUC. Composition should generally be preferred over inheritance.

IMHO, this would be a better RAII design (see #381), and force the user to configure the monitor in the constructor instead of using init() method.

I agree that the init method is not nice, however bear in mind that any changes need to be backwards-compatible. It is conceivable to add a new class under a different name that is designed without an ìnitmethod and declaremonitor_t` deprecated.

from cppzmq.

dietelTiMaMi avatar dietelTiMaMi commented on August 16, 2024

I added a Pull Request (#612) to expose the monitor socket for using it with an active poller from the hppaddon.cpp
the check_event() method was split to prevent polling for the same event twice.
The api stays fully backward compatible.

from cppzmq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.