Hello
Concerning TCP congestion, here are some answers:

1) If a message is truncated, the rest of the message (not sent) is sent as 
soon as is possible, 
i.e. just after a received on the socket and before any other send.

2) The purpose of ctrlEWGlobal is to trace than a problem occurs once 
(independantly of 
   the socket descriptor). 
The philosophy behind this is : 
-if a problem occurs, a chance is let to solve it.
-if a second problem occurs (even on a different socket), it is because the 
system does 
 not support such traffic, so it is not useful to treat the problem again.

 In the implementation, if a first pb occurs, the value of ctrlEWGlobal is set 
to true. 
 If traffic is in mono socket, 'ctrlEW' is set to true. 
 If traffic is in multi socket a flag, attached to the socket descriptor 
(poll_flag_write) is set to true.
 No more sent are done till 'ctrlEW' or the flag is set to false.
 If a message is received on the socket, it is supposed that the pb is solve. 
'ctrlEW' or the flag is set to false.
 SIPp re-starts to send message.
 If a new problem occurs (even on a different socket in multi socket traffic), 
nothing is done to stop the traffic.
 'ctrlEWGlobal' prevents to enable the protection (no send) again.
 SIPp continue to trying to send and receive message. 

 This implementation is probably not the best one.

3) 'ctrlEW' is used in mono socket traffic to trace if a problem (EAGAIN or 
EWOULDBLOCK)
  occurs during the last send. If a problem occurs 'ctrlEW' is set to true, no 
more send are done.
  If a message is received, it is supposed that network problems are solve, so 
'ctrlEW' is set to true.
  SIPp will try to send message again.   


Concerning "incorrect behavior when the TCP window closed and send returned 
EWOULDBLOCK or EAGAIN" problem, no investigation has been done yet.


Regards
Bruno GUERIN 

-----Message d'origine-----
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] la part de Charles P
Wright
Envoyé : mardi 17 octobre 2006 23:12
À : sipp-users@lists.sourceforge.net
Objet : [Sipp-users] TCP Error Handling Questions



Hello,

I have a question regarding TCP support under congestion in the latest SIPp
releases.  Previously, there was discussion on the mailing list that
pointed out incorrect behavior when the TCP window closed and send returned
EWOULDBLOCK or EAGAIN.

I looked at the send_message function, and have the following questions:
1. Why are partial messages treated specially?  Why not use the same code
for messages that were not sent at all (an extreme case of being
truncated)?
2. What is the purpose of ctrlEWGlobal?  It seems that it causes the code
to be executed only once, because I never see a false value assigned to it.
3. What is the purpose of ctrlEW?

Thanks,
Charles


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Sipp-users mailing list
Sipp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sipp-users

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Sipp-users mailing list
Sipp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sipp-users

Reply via email to