updated to support independent configuration of certain server parameters
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
7
src/libCom/env/envDefs.h
vendored
7
src/libCom/env/envDefs.h
vendored
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user