o fixed clients that dont see server's beacon dont reconnect

o added config via EPICS_CA_MAX_SEARCH_PERIOD
o when successful search response arrives dont allow search period to get to long
o dont scan channels when searching to find lowest retry count as this doesnt change behavior and adds overhead
This commit is contained in:
Jeff Hill
2004-09-03 21:12:38 +00:00
parent f02e58528c
commit dd3d974bc7
6 changed files with 129 additions and 113 deletions
+2 -12
View File
@@ -191,7 +191,7 @@ void nciu::setServerAddressUnknown ( udpiiu & newiiu,
{
guard.assertIdenticalMutex ( this->cacCtx.mutexRef () );
this->piiu = & newiiu;
this->retry = disconnectRetrySetpoint;
this->retry = 0;
this->typeCode = USHRT_MAX;
this->count = 0u;
this->sid = UINT_MAX;
@@ -217,7 +217,7 @@ void nciu::accessRightsStateChange (
/*
* nciu::searchMsg ()
*/
bool nciu::searchMsg ( udpiiu & iiu, unsigned & retryNoForThisChannel )
bool nciu::searchMsg ( udpiiu & iiu )
{
caHdr msg;
bool success;
@@ -238,7 +238,6 @@ bool nciu::searchMsg ( udpiiu & iiu, unsigned & retryNoForThisChannel )
if ( this->retry < UINT_MAX ) {
this->retry++;
}
retryNoForThisChannel = this->retry;
}
return success;
@@ -516,15 +515,6 @@ void nciu::show (
}
}
void nciu::beaconAnomalyNotify (
epicsGuard < epicsMutex > & guard )
{
guard.assertIdenticalMutex ( this->cacCtx.mutexRef () );
if ( this->retry > beaconAnomalyRetrySetpoint ) {
this->retry = beaconAnomalyRetrySetpoint;
}
}
void nciu::ioCompletionNotify (
epicsGuard < epicsMutex > &, class baseNMIU & io )
{