EPICS_CA_AUTO_MAX_ARRAY_BYTES -> EPICS_CA_AUTO_ARRAY_BYTES
This commit is contained in:
@@ -314,6 +314,11 @@ is used.</p>
|
||||
<td>i >= 16384</td>
|
||||
<td>16384</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>EPICS_CA_AUTO_ARRAY_BYTES</td>
|
||||
<td>i >= YES</td>
|
||||
<td>YES</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>EPICS_CA_MAX_SEARCH_PERIOD</td>
|
||||
<td>r > 60 seconds</td>
|
||||
@@ -754,6 +759,11 @@ buffers that are used for ordinary communication. If EPICS_CA_MAX_ARRAY_BYTES
|
||||
is larger than 16384 then a second free list of larger data buffers is
|
||||
established and used only after a client send its first large array request.</p>
|
||||
|
||||
<p>Beginning with R3.16.1, EPICS_CA_AUTO_ARRAY_BYTES=YES (the default) will ignore
|
||||
EPICS_CA_MAX_ARRAY_BYTES and attempt to allocate sufficient buffer space
|
||||
as needed. Setting EPICS_CA_AUTO_ARRAY_BYTES=NO will continue to respect
|
||||
EPICS_CA_MAX_ARRAY_BYTES.</p>
|
||||
|
||||
<p>The CA client library uses EPICS_CA_MAX_ARRAY_BYTES to determines the
|
||||
maximum array that it will send or receive. Likewise, the CA server uses
|
||||
EPICS_CA_MAX_ARRAY_BYTES to determine the maximum array that it may send or
|
||||
|
||||
@@ -219,11 +219,11 @@ cac::cac (
|
||||
throw std::bad_alloc ();
|
||||
}
|
||||
|
||||
int caLimitArray;
|
||||
if(envGetBoolConfigParam(&EPICS_CA_AUTO_MAX_ARRAY_BYTES, &caLimitArray))
|
||||
caLimitArray = 0;
|
||||
int autoMaxBytes;
|
||||
if(envGetBoolConfigParam(&EPICS_CA_AUTO_ARRAY_BYTES, &autoMaxBytes))
|
||||
autoMaxBytes = 1;
|
||||
|
||||
if(caLimitArray) {
|
||||
if(!autoMaxBytes) {
|
||||
freeListInitPvt ( &this->tcpLargeRecvBufFreeList, this->maxRecvBytesTCP, 1 );
|
||||
if ( ! this->tcpLargeRecvBufFreeList ) {
|
||||
throw std::bad_alloc ();
|
||||
|
||||
@@ -485,7 +485,7 @@ int rsrv_init (void)
|
||||
long maxBytesAsALong;
|
||||
long status;
|
||||
SOCKET *socks;
|
||||
int caLimitArray;
|
||||
int autoMaxBytes;
|
||||
|
||||
clientQlock = epicsMutexMustCreate();
|
||||
|
||||
@@ -545,10 +545,10 @@ int rsrv_init (void)
|
||||
}
|
||||
}
|
||||
|
||||
if(envGetBoolConfigParam(&EPICS_CA_AUTO_MAX_ARRAY_BYTES, &caLimitArray))
|
||||
caLimitArray = 0;
|
||||
if(envGetBoolConfigParam(&EPICS_CA_AUTO_ARRAY_BYTES, &autoMaxBytes))
|
||||
autoMaxBytes = 1;
|
||||
|
||||
if (caLimitArray)
|
||||
if (!autoMaxBytes)
|
||||
freeListInitPvt ( &rsrvLargeBufFreeListTCP, rsrvSizeofLargeBufTCP, 1 );
|
||||
else
|
||||
rsrvLargeBufFreeListTCP = NULL;
|
||||
|
||||
2
src/libCom/env/envDefs.h
vendored
2
src/libCom/env/envDefs.h
vendored
@@ -48,7 +48,7 @@ epicsShareExtern const ENV_PARAM EPICS_CA_AUTO_ADDR_LIST;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_REPEATER_PORT;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_SERVER_PORT;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_MAX_ARRAY_BYTES;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_AUTO_MAX_ARRAY_BYTES;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_AUTO_ARRAY_BYTES;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_MAX_SEARCH_PERIOD;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_NAME_SERVERS;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_MCAST_TTL;
|
||||
|
||||
Reference in New Issue
Block a user