<p> Attention is currently required from: Kevin Harwell. </p>
<p>Patch set 3:<span style="border-radius: 3px; display: inline-block; margin: 0 2px; padding: 4px;background-color: #ffd4d4; color: #000000;">Code-Review -1</span></p><p><a href="https://gerrit.asterisk.org/c/asterisk/+/17330">View Change</a></p><p>20 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="null">File include/asterisk/res_aeap.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/+/17330/comment/310a4aab_b24cf5ea">Patch Set #3, Line 33:</a> <code style="font-family:monospace,monospace"></code></p><p style="white-space: pre-wrap; word-wrap: break-word;">These should have \since added, along with other header files</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/cb4bd493_996cd623">Patch Set #3, Line 218:</a> <code style="font-family:monospace,monospace"> */</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Should these connect calls include timeouts?</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/d96a9d09_faa13e90">Patch Set #3, Line 252:</a> <code style="font-family:monospace,monospace">int ast_aeap_disconnect(struct ast_aeap *aeap);</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Does this block until disconnect occurs?</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/6ab8919d_7ca2da9e">Patch Set #3, Line 322:</a> <code style="font-family:monospace,monospace"> ast_aeap_on_timeout on_timeout;</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Is this required or optional?</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/efb2b54d_c09525d6">Patch Set #3, Line 326:</a> <code style="font-family:monospace,monospace"> void *obj;</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Specify how lifetime of this is managed, who is responsible</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/02f22519_de9be3e4">Patch Set #3, Line 342:</a> <code style="font-family:monospace,monospace"> * \param params Additional parameters to consider when sending (optional)</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Specify whether this is to be allocated or not.</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File include/asterisk/res_aeap_message.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/+/17330/comment/5f778484_75af3251">Patch Set #3, Line 36:</a> <code style="font-family:monospace,monospace">     /*! The size of this type */</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">This needs further explanation for what this means and what it does.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/3f010534_c0405076">Patch Set #3, Line 201:</a> <code style="font-family:monospace,monospace"> * \brief Create an Asterisk external application error message from a given message.</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">This doesn't seem to be creating things from a message, and is it actually for creating just an error message?</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/42bedd10_7ef1a912">Patch Set #3, Line 219:</a> <code style="font-family:monospace,monospace"> * \brief Create an Asterisk external application request object, and generate an id for it</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">This optionally generates an id.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/5fb5a59e_2dd6bf96">Patch Set #3, Line 298:</a> <code style="font-family:monospace,monospace">int ast_aeap_message_id_generate(struct ast_aeap_message *message);</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Would it be useful for this to return the generated id, as part of this call?</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File res/res_aeap.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/+/17330/comment/88b1e4eb_15c1a1f9">Patch Set #3, Line 35:</a> <code style="font-family:monospace,monospace">                        <configObject name="server"></code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Ah, the joy of perception. Previously it was configuring the details for a remote server. Now it is configuring the details for the local client.</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File res/res_aeap/aeap.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/+/17330/comment/99af0ba5_84f4e1ff">Patch Set #3, Line 57:</a> <code style="font-family:monospace,monospace"> ast_mutex_t lock;</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Is there a need for an additional lock alongside the ao2 one?</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/ea64d1b1_75809e85">Patch Set #3, Line 125:</a> <code style="font-family:monospace,monospace">       data = ao2_alloc(sizeof(*data) + strlen(id) + 1, cleanup);</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Does this need to be allocated with a lock?</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/73535557_30246133">Patch Set #3, Line 174:</a> <code style="font-family:monospace,monospace">        obj = data->obj;</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">What is the lifetime guarantee of the returned obj? Is there any? Should special care be taken by the caller?</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File res/res_aeap/message.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/+/17330/comment/527abcae_fe361dd8">Patch Set #3, Line 47:</a> <code style="font-family:monospace,monospace">   msg = ao2_alloc(type->type_size, message_destructor);</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Does this need to be allocated with a lock?</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File res/res_aeap/transaction.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/+/17330/comment/f535f626_2e83cfaf">Patch Set #3, Line 81:</a> <code style="font-family:monospace,monospace">void aeap_transaction_end(struct aeap_transaction *tsx, int result);</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">What does result mean? What are the possible values for result? Applies to the next function too.</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File res/res_aeap/transaction.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/+/17330/comment/2a6a06e8_14fac140">Patch Set #3, Line 245:</a> <code style="font-family:monospace,monospace">     if (!ao2_link(transactions, tsx)) {</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">This creates a circular reference, how is it broken/taken care of/not applicable?</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File res/res_aeap/transport.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/+/17330/comment/bb7c72be_79379115">Patch Set #3, Line 181:</a> <code style="font-family:monospace,monospace"> * \returns Total number of bytes read, or less than zero on error</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Document whether this is blocking/non-blocking.</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="null">File res/res_speech_aeap.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/+/17330/comment/4f339ed2_402aa032">Patch Set #3, Line 495:</a> <code style="font-family:monospace,monospace">      speech_engine_create_and_register(ast_sorcery_object_get_id(obj), NULL,</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">codec_names is always going to be NULL</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/17330/comment/db7db4c4_25a5ac5b">Patch Set #3, Line 530:</a> <code style="font-family:monospace,monospace">        if (ast_aeap_client_config_observer_add(&speech_observer)) {</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">Add a comment explaining what this is doing</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/17330">change 17330</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/+/17330"/><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: Iaa4b259f84aa63501e5fd2a6fb107f900b4d4ed2 </div>
<div style="display:none"> Gerrit-Change-Number: 17330 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@sangoma.com> </div>
<div style="display:none"> Gerrit-Attention: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Wed, 12 Jan 2022 14:08:15 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: Yes </div>
<div style="display:none"> Gerrit-MessageType: comment </div>