updated to support independent configuration of certain server parameters

This commit is contained in:
Jeff Hill
2002-08-09 00:16:24 +00:00
parent 996672b285
commit 8d9c3f7ff4
4 changed files with 29 additions and 11 deletions

View File

@@ -63,14 +63,20 @@ caServerI::caServerI (caServer &tool) :
this->valueEvent = registerEvent ("value");
this->logEvent = registerEvent ("log");
this->alarmEvent = registerEvent ("alarm");
status = envGetDoubleConfigParam (&EPICS_CA_BEACON_PERIOD, &maxPeriod);
if (status || maxPeriod<=0.0) {
if ( envGetConfigParamPtr ( & EPICS_CAS_BEACON_PERIOD ) ) {
status = envGetDoubleConfigParam ( & EPICS_CAS_BEACON_PERIOD, & maxPeriod );
}
else {
status = envGetDoubleConfigParam ( & EPICS_CA_BEACON_PERIOD, & maxPeriod );
}
if ( status || maxPeriod <= 0.0 ) {
this->maxBeaconInterval = CAServerMaxBeaconPeriod;
errlogPrintf (
"EPICS \"%s\" float fetch failed\n", EPICS_CA_BEACON_PERIOD.name);
"EPICS \"%s\" float fetch failed\n", EPICS_CAS_BEACON_PERIOD.name );
errlogPrintf (
"Setting \"%s\" = %f\n", EPICS_CA_BEACON_PERIOD.name,
"Setting \"%s\" = %f\n", EPICS_CAS_BEACON_PERIOD.name,
this->maxBeaconInterval);
}
else {

View File

@@ -67,7 +67,10 @@ void caServerIO::locateInterfaces ()
memset ((char *)&saddr,0,sizeof(saddr));
pStr = envGetConfigParam(&EPICS_CA_AUTO_ADDR_LIST, sizeof(buf), buf);
pStr = envGetConfigParam(&EPICS_CAS_AUTO_BEACON_ADDR_LIST, sizeof(buf), buf);
if ( ! pStr ) {
pStr = envGetConfigParam(&EPICS_CA_AUTO_ADDR_LIST, sizeof(buf), buf);
}
if (pStr) {
if (strstr(pStr,"no")||strstr(pStr,"NO")) {
autoBeaconAddr = false;
@@ -77,7 +80,7 @@ void caServerIO::locateInterfaces ()
}
else {
fprintf(stderr,
"CAS: EPICS_CA_AUTO_ADDR_LIST = \"%s\"? Assuming \"YES\"\n", pStr);
"CAS: EPICS_CA(S)_AUTO_ADDR_LIST = \"%s\"? Assuming \"YES\"\n", pStr);
autoBeaconAddr = true;
}
}

View File

@@ -82,8 +82,14 @@ casDGIntfIO::casDGIntfIO (caServerI &serverIn, const caNetAddr &addr,
this->dgPort = envGetInetPortConfigParam (&EPICS_CA_SERVER_PORT,
static_cast <unsigned short> (CA_SERVER_PORT));
}
beaconPort = envGetInetPortConfigParam (&EPICS_CA_REPEATER_PORT,
static_cast <unsigned short> (CA_REPEATER_PORT));
if (envGetConfigParamPtr(&EPICS_CAS_BEACON_PORT)) {
beaconPort = envGetInetPortConfigParam (&EPICS_CAS_BEACON_PORT,
static_cast <unsigned short> (CA_REPEATER_PORT));
}
else {
beaconPort = envGetInetPortConfigParam (&EPICS_CA_REPEATER_PORT,
static_cast <unsigned short> (CA_REPEATER_PORT));
}
//
// set up the primary address of the server

View File

@@ -53,14 +53,17 @@ typedef struct envParam {
*/
epicsShareExtern READONLY ENV_PARAM EPICS_CA_ADDR_LIST;
epicsShareExtern READONLY ENV_PARAM EPICS_CA_CONN_TMO;
epicsShareExtern READONLY ENV_PARAM EPICS_CA_BEACON_PERIOD;
epicsShareExtern READONLY ENV_PARAM EPICS_CA_AUTO_ADDR_LIST;
epicsShareExtern READONLY ENV_PARAM EPICS_CA_REPEATER_PORT;
epicsShareExtern READONLY ENV_PARAM EPICS_CA_SERVER_PORT;
epicsShareExtern READONLY ENV_PARAM EPICS_CA_MAX_ARRAY_BYTES;
epicsShareExtern READONLY ENV_PARAM EPICS_CAS_INTF_ADDR_LIST;
epicsShareExtern READONLY ENV_PARAM EPICS_CAS_AUTO_BEACON_ADDR_LIST;
epicsShareExtern READONLY ENV_PARAM EPICS_CAS_BEACON_ADDR_LIST;
epicsShareExtern READONLY ENV_PARAM EPICS_CAS_SERVER_PORT;
epicsShareExtern READONLY ENV_PARAM EPICS_CA_BEACON_PERIOD; /* deprecated */
epicsShareExtern READONLY ENV_PARAM EPICS_CAS_BEACON_PERIOD;
epicsShareExtern READONLY ENV_PARAM EPICS_CAS_BEACON_PORT;
epicsShareExtern READONLY ENV_PARAM EPICS_TIMEZONE;
epicsShareExtern READONLY ENV_PARAM EPICS_TS_NTP_INET;
epicsShareExtern READONLY ENV_PARAM EPICS_IOC_LOG_PORT;
@@ -70,7 +73,7 @@ epicsShareExtern READONLY ENV_PARAM EPICS_IOC_LOG_FILE_NAME;
epicsShareExtern READONLY ENV_PARAM EPICS_IOC_LOG_FILE_COMMAND;
epicsShareExtern READONLY ENV_PARAM EPICS_CMD_PROTO_PORT;
epicsShareExtern READONLY ENV_PARAM EPICS_AR_PORT;
#define EPICS_ENV_VARIABLE_COUNT 19
#define EPICS_ENV_VARIABLE_COUNT 22
/*
* bldEnvData looks for "epicsShareExtern ENV_PARAM" so