Commit d7a8d67d authored by Reinhard Tartler's avatar Reinhard Tartler

Imported nxcomp-3.1.0-6.tar.gz

Summary: Imported nxcomp-3.1.0-6.tar.gz Keywords: Imported nxcomp-3.1.0-6.tar.gz into Git repository
parent 3e924126
ChangeLog: ChangeLog:
nxcomp-3.1.0-6
- Always use a timeout of 50 ms to update the congestion counter.
nxcomp-3.1.0-5
- Solve the possible deadlock caused by both proxies running out of
tokens at the same time.
- In ServerProxy::handleCheckDrop() copy the list since the function
can delete the elements.
nxcomp-3.1.0-4 nxcomp-3.1.0-4
- Classes ProxyReadBuffer and ServerReadBuffer returned an invalid - Classes ProxyReadBuffer and ServerReadBuffer returned an invalid
......
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
// the proxy is idle for this time. // the proxy is idle for this time.
// //
#define IDLE_TIMEOUT 0 #define IDLE_TIMEOUT 50
// //
// Close X connection if can't write before this // Close X connection if can't write before this
......
...@@ -12745,7 +12745,7 @@ int SetLinkIsdn() ...@@ -12745,7 +12745,7 @@ int SetLinkIsdn()
control -> SplitTimeout = 50; control -> SplitTimeout = 50;
control -> MotionTimeout = 20; control -> MotionTimeout = 20;
control -> IdleTimeout = 20; control -> IdleTimeout = 50;
control -> PackMethod = PACK_ADAPTIVE; control -> PackMethod = PACK_ADAPTIVE;
control -> PackQuality = 5; control -> PackQuality = 5;
...@@ -12775,7 +12775,7 @@ int SetLinkAdsl() ...@@ -12775,7 +12775,7 @@ int SetLinkAdsl()
control -> SplitTimeout = 50; control -> SplitTimeout = 50;
control -> MotionTimeout = 10; control -> MotionTimeout = 10;
control -> IdleTimeout = 10; control -> IdleTimeout = 50;
control -> PackMethod = PACK_ADAPTIVE; control -> PackMethod = PACK_ADAPTIVE;
control -> PackQuality = 7; control -> PackQuality = 7;
...@@ -12805,7 +12805,7 @@ int SetLinkWan() ...@@ -12805,7 +12805,7 @@ int SetLinkWan()
control -> SplitTimeout = 50; control -> SplitTimeout = 50;
control -> MotionTimeout = 5; control -> MotionTimeout = 5;
control -> IdleTimeout = 5; control -> IdleTimeout = 50;
control -> PackMethod = PACK_ADAPTIVE; control -> PackMethod = PACK_ADAPTIVE;
control -> PackQuality = 9; control -> PackQuality = 9;
...@@ -12835,7 +12835,7 @@ int SetLinkLan() ...@@ -12835,7 +12835,7 @@ int SetLinkLan()
control -> SplitTimeout = 50; control -> SplitTimeout = 50;
control -> MotionTimeout = 0; control -> MotionTimeout = 0;
control -> IdleTimeout = 0; control -> IdleTimeout = 50;
control -> PackMethod = PACK_ADAPTIVE; control -> PackMethod = PACK_ADAPTIVE;
control -> PackQuality = 9; control -> PackQuality = 9;
......
...@@ -3647,8 +3647,6 @@ int Proxy::handlePing() ...@@ -3647,8 +3647,6 @@ int Proxy::handlePing()
if (diffPing >= (control -> PingTimeout - if (diffPing >= (control -> PingTimeout -
control -> LatencyTimeout * 5)) control -> LatencyTimeout * 5))
{ {
if (tokens_[token_control].remaining > 0)
{
#if defined(TEST) || defined(INFO) || defined(PING) #if defined(TEST) || defined(INFO) || defined(PING)
*logofs << "Proxy: Sending a new ping at " << strMsTimestamp() *logofs << "Proxy: Sending a new ping at " << strMsTimestamp()
<< " with " << tokens_[token_control].remaining << " with " << tokens_[token_control].remaining
...@@ -3667,16 +3665,6 @@ int Proxy::handlePing() ...@@ -3667,16 +3665,6 @@ int Proxy::handlePing()
#if defined(TEST) || defined(INFO) || defined(PING) #if defined(TEST) || defined(INFO) || defined(PING)
else else
{ {
*logofs << "Proxy: WARNING! Can't send a new ping "
<< "with no tokens and elapsed in " << diffIn
<< " out " << diffOut << " ping " << diffPing
<< ".\n" << logofs_flush;
}
#endif
}
#if defined(TEST) || defined(INFO) || defined(PING)
else
{
*logofs << "Proxy: Not sending a new ping with " *logofs << "Proxy: Not sending a new ping with "
<< "elapsed in " << diffIn << " out " << "elapsed in " << diffIn << " out "
<< diffOut << " ping " << diffPing << diffOut << " ping " << diffPing
......
...@@ -410,7 +410,7 @@ int ServerProxy::handleNewXConnectionFromProxy(int channelId) ...@@ -410,7 +410,7 @@ int ServerProxy::handleNewXConnectionFromProxy(int channelId)
int ServerProxy::handleCheckDrop() int ServerProxy::handleCheckDrop()
{ {
T_list &channelList = activeChannels_.getList(); T_list channelList = activeChannels_.copyList();
for (T_list::iterator j = channelList.begin(); for (T_list::iterator j = channelList.begin();
j != channelList.end(); j++) j != channelList.end(); j++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment