<p>This pull requests adds the following:</p>
<ul>
<li>added a new status - ASYNC_CHANGE_FD which allows changing the file descriptor in the reactor if something goes wrong in the resume function, such that you can do failover</li>
<li>added a state parameter for database async query - database engines can now use a parameter to hold state between the async call (async_raw_query) and the async resume (async_raw_resume)</li>
<li>adapted sipcapture and avpops to the new functionalities</li>
<li>db_virtual can now use the async raw query functionality; since mysql is the only engine that supports this, it will be the only one supported</li>
</ul>
<hr>
<h4>You can view, comment on, or merge this pull request online at:</h4>
<p> <a href='https://github.com/OpenSIPS/opensips/pull/715'>https://github.com/OpenSIPS/opensips/pull/715</a></p>
<h4>Commit Summary</h4>
<ul>
<li>add ASYNC_CHANGE_FD status in reactor</li>
<li>hold db state between async call and resume function</li>
<li>async support for db_virtual</li>
</ul>
<h4>File Changes</h4>
<ul>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-0">async.h</a>
(7)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-1">db/db.h</a>
(9)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-2">modules/avpops/avpops_impl.c</a>
(11)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-3">modules/avpops/avpops_impl.h</a>
(1)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-4">modules/db_mysql/dbase.c</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-5">modules/db_mysql/dbase.h</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-6">modules/db_virtual/README</a>
(6)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-7">modules/db_virtual/db_virtual.c</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-8">modules/db_virtual/db_virtual.h</a>
(6)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-9">modules/db_virtual/dbase.c</a>
(177)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-10">modules/db_virtual/dbase.h</a>
(15)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-11">modules/db_virtual/doc/db_virtual_admin.xml</a>
(15)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-12">modules/sipcapture/sipcapture.c</a>
(15)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-13">modules/sipcapture/sipcapture.h</a>
(1)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-14">modules/tm/async.c</a>
(51)
</li>
<li>
<strong>A</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-15">modules/tm/async.c.orig</a>
(258)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-16">modules/tm/async.h</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-17">net/net_tcp_proc.c</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSIPS/opensips/pull/715/files#diff-18">net/net_udp.c</a>
(2)
</li>
</ul>
<h4>Patch Links:</h4>
<ul>
<li><a href='https://github.com/OpenSIPS/opensips/pull/715.patch'>https://github.com/OpenSIPS/opensips/pull/715.patch</a></li>
<li><a href='https://github.com/OpenSIPS/opensips/pull/715.diff'>https://github.com/OpenSIPS/opensips/pull/715.diff</a></li>
</ul>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/OpenSIPS/opensips/pull/715">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AFOciZFTd1QEaT7J6l7maT02hz5s8mEfks5pMCTGgaJpZM4Gt7dV.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/OpenSIPS/opensips/pull/715"></link>
<meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>