<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Fi_av_insert() and friends are defined to proceed asynchronously when an EQ is bound to the AV, but it’s not clear how the caller should map the completions back to the original insert request.   I suppose the fi_addr structure pointer
 passed in could be returned in the “context” field, but that constrains the use a little.  Shall we go with that for now?  If this proves unworkable in a real-world use case then we could add “fi_av_insert_context” when an array of context values are passed
 in, to be returned in the associated EQ with each insert completion?   <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Another thing – address resolution can complete “unsuccessfully” but non-fatally.  For example, if you try to find a route to a particular IP/port, that may fail with something like “host unreachable” but that is not an error in the underlying
 address resolution system.  Hence, av_insert requests need to have a “status” field in their completion struct.  I can see other completion types having this requirement, should we add “int status” to fi_eq_entry ?  Or let av_insert have its own completion
 struct with a status field?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If we extend fi_eq_entry, event will be “FI_COMPLETE”, status will be insert completion/failure, fid will be the AV on which the insert was done, and context will be the fi_addr speficied in av_insert call.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Otherwise we add fi_eq_av_insert_entry, event becomes FI_AV_INSERT_COMPLETE, rest is same.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sound right?<o:p></o:p></p>
<p class="MsoNormal">-reese<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>