set retry number to 4 when there is a beacon anomaly or when a

channel disconnects. This starts the searcch delay at .4 seconds
instead of at 0.25 seconds.
This commit is contained in:
Jeff Hill
2003-06-13 00:27:27 +00:00
parent 5c162ad7c3
commit ba6b7f6e21
2 changed files with 16 additions and 4 deletions
+9 -3
View File
@@ -40,6 +40,9 @@
/* */
/*
* $Log$
* Revision 1.43.4.4 2002/07/12 22:16:00 jba
* Updated license comments.
*
* Revision 1.43.4.3 2001/03/06 00:10:03 jhill
* fixed R3.13 for Linux's new socklen_t
*
@@ -674,10 +677,14 @@ void mark_server_available (const struct sockaddr_in *pnet_addr)
* set retry count of all disconnected channels
* to zero
*/
cacSetRetryInterval(0u);
if ( ca_static->ca_search_retry > 4u ) {
cacSetRetryInterval(4u);
}
chan = (ciu) ellFirst(&piiuCast->chidlist);
while (chan) {
chan->retry = 0u;
if ( chan->retry > 4u ) {
chan->retry = 4u;
}
chan = (ciu) ellNext (&chan->node);
}
@@ -1081,7 +1088,6 @@ void addToChanList(ciu chan, IIU *piiu)
* add to the front of the list so that
* search requests for new channels will be sent first
*/
chan->retry = 0u;
ellInsert(&piiu->chidlist, NULL, &chan->node);
}
else {
+7 -1
View File
@@ -57,6 +57,9 @@
/* kernels that support multicast */
/*
* $Log$
* Revision 1.84.4.5 2002/07/12 22:16:02 jba
* Updated license comments.
*
* Revision 1.84.4.4 2002/05/28 18:41:41 jhill
* fixed ellFree cause malloc and free to be in different win32 dlls
*
@@ -1545,6 +1548,7 @@ void cacDisconnectChannel(ciu chix)
chix->id.sid = ~0u;
chix->ar.read_access = FALSE;
chix->ar.write_access = FALSE;
chix->retry = 4u;
/*
* call their connection handler as required
@@ -1606,7 +1610,9 @@ void cacDisconnectChannel(ciu chix)
*/
assert (piiuCast);
addToChanList(chix, piiuCast);
cacSetRetryInterval(0u);
if ( ca_static->ca_search_retry > 4u ) {
cacSetRetryInterval(4u);
}
UNLOCK;
}