This is pretty much the reactor pattern we use in CZMQ. You set-up timers and then handle them by e.g. sending messages.
-Pieter On Tue, Feb 5, 2013 at 8:40 PM, Apostolis Xekoukoulotakis <[email protected]> wrote: > Those delayed msgs are used to wake up the actor. > > > 2013/2/5 Apostolis Xekoukoulotakis <[email protected]> >> >> Let me say one of my use cases that, i think cant be handled by timers. >> This is WIP. >> >> I have in each thread multiple actors. Each such actor might want to ask >> for a service (like a database). >> It sends a message and then work passes to other actors. Since there is a >> chance that the response from the service is lost, >> I want to use the lazy pirate pattern per actor. So what I did was add a >> tickless service with poll >> that sends msgs to a socket (or directly to the same thread that has the >> poll ) after a specific delay. >> >> I think that having payloads on timers is a useful pattern in general. >> >> 2013/2/5 Pieter Hintjens <[email protected]> >>> >>> On Tue, Feb 5, 2013 at 5:35 PM, Apostolis Xekoukoulotakis >>> <[email protected]> wrote: >>> >>> > If you have a timer to expire after 1m , you dont check every 20 ms if >>> > it >>> > expired, you use poll() that wakes after 1m if no other event happens. >>> >>> Right. The original goal is to reduce CPU wakeups, so tickless code >>> will work nicely on low power devices. The concept comes from the >>> Linux kernel: https://lesswatts.org/projects/tickless/ >>> >>> As well as reducing CPU wakeups it makes it easier to schedule precise >>> events, e.g. send PING once per second, even if there was some other >>> activity in the meantime. You need this when you are doing anything >>> complex. >>> >>> zmq_poll should IMO have tickless timers built in, and it's something >>> I'd like to add to CZMQ (poll class with tickless timers). >>> >>> -Pieter >>> _______________________________________________ >>> zeromq-dev mailing list >>> [email protected] >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >> >> >> >> >> -- >> >> >> >> Sincerely yours, >> >> Apostolis Xekoukoulotakis > > > > > -- > > > Sincerely yours, > > Apostolis Xekoukoulotakis > > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
