<div dir="ltr"><p style="margin-right:0px;margin-bottom:15px;margin-left:0px;color:rgb(51,51,51);font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:13px;line-height:22px;background-color:rgb(251,251,251);margin-top:0px!important">
Many of my system's (CZMQ based) applications are long running, though some applications within my system come and go. Many applications do various timer based work when certain applications are present and should not be doing these timer actions when certain applications are not present. Consequently, I have a need to be able to cancel certain timers (but not all timers) throughout the lifetime of my applications without stopping all of the application timers.</p>
<p style="margin:15px 0px;color:rgb(51,51,51);font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:13px;line-height:22px;background-color:rgb(251,251,251)">The current zloop timer implementation makes this difficult for me because it cancels all timers that match the 'arg'. Typically the 'arg' is the application context structure containing useful references to application data and state. In my case it is always the 'arg' and I would think that this is pretty standard usage too.</p>
<p style="margin:15px 0px;color:rgb(51,51,51);font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:13px;line-height:22px;background-color:rgb(251,251,251)">I've submitted pull request #318 (<a href="https://github.com/zeromq/czmq/pull/318">https://github.com/zeromq/czmq/pull/318</a>) to create a conversation topic regarding the changes contained within, which change the behaviour such that timers can be cancelled using their timer_id. I've been using this code successfully for some time now and the czmq_selftest indicates that there are no leaks. Ideally I'd like this functionality present in czmq, pending no significant issues, objections or show stoppers. As Pieter points out, this constitutes an API change.</p>
<p style="margin:15px 0px;color:rgb(51,51,51);font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:13px;line-height:22px;background-color:rgb(251,251,251)">This implementation fits well with the event-reactor style applications I create that typically finalise and terminate upon exit of the event loop. Perhaps this implementation might not fit so well with other styles?</p>
<p style="margin-top:15px;margin-right:0px;margin-left:0px;color:rgb(51,51,51);font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:13px;line-height:22px;background-color:rgb(251,251,251);margin-bottom:0px!important">
Thoughts? Would this type of change help or hinder you?</p></div>