<p> Attention is currently required from: Joshua Colp. </p>
<p><a href="https://gerrit.asterisk.org/c/asterisk/+/18976">View Change</a></p><p>3 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="null">Patchset:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/18976?tab=comments">Patch Set #2:</a> </p><p style="white-space: pre-wrap; word-wrap: break-word;">Thank you Joshua, happy with the NACK, hope this clarifies, but would appreciate a bit of direction guidance here before proceeding further.</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File include/asterisk/tcptls.h:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/18976/comment/c51e84bb_42e7b8bb">Patch Set #2, Line 141:</a> <code style="font-family:monospace,monospace">    void (*periodic_fn)(struct ast_tcptls_session_args *);/*!< something we may want to run before after select on the accept socket */</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Why this change to the API? Everything else uses void * and then casts it in the callback.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Sure, I can do that (originally did), but this is safer type-wise.  And there are no other users of this in-tree so "all consumers has been updated".</p><p style="white-space: pre-wrap; word-wrap: break-word;">The other option is to rip out this from the API entirely, but that should happen via deprecation, and rather use a task processes inside the manager module.</p><p style="white-space: pre-wrap; word-wrap: break-word;">This whole periodic_fn really was just a "cheap" way to get a thread to periodically perform the purging on.  Also, after every purge, we can then actually calculate the correct time to sleep (ie, find the time to the next purge that needs to happen, that way we can potentially sleep up to httptimeout seconds at a time (if a new session is created right now it will get purged earliest httptimeout seconds from now, otherwise we can calculate how long to sleap based on the session that's closest to being timed out).  This is a much more complex change, but possibly "the right thing to do".  If you'd prefer that approach, how can I mark the use of periodic_fn as deprecated other than using a WARNING log?  Does it make sense to deprecate this?</p><p style="white-space: pre-wrap; word-wrap: break-word;">Further towards this, this timer will only work if native AMI socket is enabled, not sure if it's possible to configure to NOT EVEN HAVE the plaintext socket on which this is applied, it could be, in which case the purge process won't even run at all.</p><p style="white-space: pre-wrap; word-wrap: break-word;">Happy to take direction here.</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File main/manager.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/18976/comment/d94fbc55_b5a163b0">Patch Set #2, Line 8643:</a> <code style="font-family:monospace,monospace">        if (purge_sessions(1) == 1) {</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Document why it's behaving this way</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Ack</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/18976">change 18976</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/c/asterisk/+/18976"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I4117ae25acc9c92bd1d3cfa73d7d334f5c3480c2 </div>
<div style="display:none"> Gerrit-Change-Number: 18976 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Jaco Kroon <jaco@uls.co.za> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@sangoma.com> </div>
<div style="display:none"> Gerrit-Attention: Joshua Colp <jcolp@sangoma.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Tue, 16 Aug 2022 20:30:47 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: No </div>
<div style="display:none"> Comment-In-Reply-To: Joshua Colp <jcolp@sangoma.com> </div>
<div style="display:none"> Gerrit-MessageType: comment </div>