<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2873" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=632150516-25052006>Hi 
Fab</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=632150516-25052006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=632150516-25052006>While debugging an 
issue in WSD I have noticed that it is important to know if all packets sent by 
one side were indeed received by the other side.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=632150516-25052006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=632150516-25052006>The following debug 
variables (in the patch) help in getting this information.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=632150516-25052006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=632150516-25052006>Thanks</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=632150516-25052006>Tzachi</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=632150516-25052006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=632150516-25052006>Index: 
ibsp_iblow.c<BR>===================================================================<BR>--- 
ibsp_iblow.c (revision 356)<BR>+++ ibsp_iblow.c (working copy)<BR>@@ 
-109,6 +109,9 @@<BR>    InterlockedExchangeAdd64( 
&g_pm_stat.pdata[BYTES_RECV],<BR>     lpOverlapped->InternalHigh 
);<BR> #endif<BR>+#ifdef 
_DEBUG_<BR>+  cl_atomic_inc(&g_ibsp.total_recv_compleated);<BR>+#endif<BR>    break;<BR> #ifdef 
PERFMON_ENABLED<BR> <BR>Index: 
ibspdll.c<BR>===================================================================<BR>--- 
ibspdll.c (revision 356)<BR>+++ ibspdll.c (working copy)<BR>@@ -185,6 
+185,12 @@<BR> <BR>    IBSP_ERROR( ("  send_count 
= %d\n", g_ibsp.send_count) );<BR> <BR>+   IBSP_ERROR( 
("  total_send_count = %d\n", g_ibsp.total_send_count) 
);<BR>+<BR>+   IBSP_ERROR( ("  total_recv_count = %d\n", 
g_ibsp.total_recv_count) );<BR>+<BR>+   IBSP_ERROR( ("  
total_recv_compleated = %d\n", g_ibsp.total_recv_compleated) 
);<BR>+<BR>    IBSP_ERROR(<BR>       
("  number of QPs left = %d\n", g_ibsp.qp_num) 
);<BR>    IBSP_ERROR(<BR>@@ -1590,6 +1596,7 
@@<BR>  }<BR> <BR>  cl_atomic_inc( 
&g_ibsp.recv_count );<BR>+ cl_atomic_inc( &g_ibsp.total_recv_count 
); <BR> <BR>  fzprint(("%s():%d:0x%x:0x%x: ov=0x%p h0=%d 
h1=%d h1_c=%d send=%d recv=%d\n",<BR>     __FUNCTION__, 
__LINE__, GetCurrentProcessId(),<BR>@@ -1825,6 +1832,7 
@@<BR>  }<BR> <BR>  cl_atomic_inc( 
&g_ibsp.send_count );<BR>+ cl_atomic_inc( &g_ibsp.total_send_count 
);<BR> <BR>  fzprint(("%s():%d:0x%x:0x%x: ov=0x%p h0=%d h1=%d 
h1_c=%d send=%d recv=%d\n",<BR>     __FUNCTION__, __LINE__, 
GetCurrentProcessId(),<BR>Index: 
ibspstruct.h<BR>===================================================================<BR>--- 
ibspstruct.h (revision 356)<BR>+++ ibspstruct.h (working copy)<BR>@@ 
-464,6 +464,9 @@<BR>  atomic32_t 
max_comp_count;<BR>  atomic32_t send_count;<BR>  atomic32_t 
recv_count;<BR>+ atomic32_t total_send_count;<BR>+ atomic32_t 
total_recv_count;<BR>+ atomic32_t 
total_recv_compleated; <BR>  atomic32_t 
CloseSocket_count;<BR> #endif<BR> };<BR></SPAN></FONT></DIV></BODY></HTML>