<!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>