Added rsrv statistics fetch for vxStats
This commit is contained in:
@@ -1058,6 +1058,10 @@ unsigned cid
|
||||
pchannel);
|
||||
} while (status == S_bucket_idInUse);
|
||||
|
||||
if ( status == S_bucket_success ) {
|
||||
rsrvChannelCount++;
|
||||
}
|
||||
|
||||
UNLOCK_CLIENTQ;
|
||||
|
||||
if(status!=S_bucket_success){
|
||||
@@ -1954,6 +1958,7 @@ LOCAL int clear_channel_reply ( caHdrLargeArray *mp,
|
||||
errMessage (status, "Bad resource id during channel clear");
|
||||
logBadId ( client, mp, pPayload );
|
||||
}
|
||||
rsrvChannelCount--;
|
||||
UNLOCK_CLIENTQ;
|
||||
freeListFree(rsrvChanFreeList, pciu);
|
||||
|
||||
|
||||
@@ -618,6 +618,7 @@ void destroy_tcp_client ( struct client *client )
|
||||
rsrvFreePutNotify ( client, pciu->pPutNotify );
|
||||
LOCK_CLIENTQ;
|
||||
status = bucketRemoveItemUnsignedId ( pCaBucket, &pciu->sid);
|
||||
rsrvChannelCount--;
|
||||
UNLOCK_CLIENTQ;
|
||||
if ( status != S_bucket_success ) {
|
||||
errPrintf ( status, __FILE__, __LINE__,
|
||||
@@ -886,3 +887,18 @@ struct client *create_tcp_client ( SOCKET sock )
|
||||
return client;
|
||||
}
|
||||
|
||||
void casStatsFetch ( unsigned *pChanCount, unsigned *pCircuitCount )
|
||||
{
|
||||
LOCK_CLIENTQ;
|
||||
{
|
||||
int circuitCount = ellCount ( &clientQ );
|
||||
if ( circuitCount < 0 ) {
|
||||
*pCircuitCount = 0;
|
||||
}
|
||||
else {
|
||||
*pCircuitCount = (unsigned) circuitCount;
|
||||
}
|
||||
*pChanCount = rsrvChannelCount;
|
||||
}
|
||||
UNLOCK_CLIENTQ;
|
||||
}
|
||||
|
||||
@@ -79,14 +79,15 @@ LOCAL void clean_addrq()
|
||||
if (delay > timeout) {
|
||||
|
||||
ellDelete(&prsrv_cast_client->addrq, &pciu->node);
|
||||
LOCK_CLIENTQ;
|
||||
LOCK_CLIENTQ;
|
||||
s = bucketRemoveItemUnsignedId (
|
||||
pCaBucket,
|
||||
&pciu->sid);
|
||||
if(s){
|
||||
errMessage (s, "Bad id at close");
|
||||
}
|
||||
UNLOCK_CLIENTQ;
|
||||
rsrvChannelCount--;
|
||||
UNLOCK_CLIENTQ;
|
||||
freeListFree(rsrvChanFreeList, pciu);
|
||||
ndelete++;
|
||||
if(delay>maxdelay) maxdelay = delay;
|
||||
|
||||
+6
-2
@@ -24,8 +24,12 @@
|
||||
|
||||
epicsShareFunc int epicsShareAPI rsrv_init (void);
|
||||
epicsShareFunc void epicsShareAPI casr (unsigned level);
|
||||
epicsShareFunc void epicsShareAPI casHostNameInitiatingCurrentThread ( char * pBuf, unsigned bufSize );
|
||||
epicsShareFunc void epicsShareAPI casUserNameInitiatingCurrentThread ( char * pBuf, unsigned bufSize );
|
||||
epicsShareFunc void epicsShareAPI casHostNameInitiatingCurrentThread (
|
||||
char * pBuf, unsigned bufSize );
|
||||
epicsShareFunc void epicsShareAPI casUserNameInitiatingCurrentThread (
|
||||
char * pBuf, unsigned bufSize );
|
||||
void casStatsFetch ( unsigned *pChanCount, unsigned *pConnCount );
|
||||
|
||||
#define RSRV_OK 0
|
||||
#define RSRV_ERROR (-1)
|
||||
|
||||
|
||||
@@ -167,6 +167,7 @@ GLBLTYPE void *rsrvSmallBufFreeListTCP;
|
||||
GLBLTYPE void *rsrvLargeBufFreeListTCP;
|
||||
GLBLTYPE unsigned rsrvSizeofLargeBufTCP;
|
||||
GLBLTYPE void *rsrvPutNotifyFreeList;
|
||||
GLBLTYPE unsigned rsrvChannelCount;
|
||||
|
||||
#define CAS_HASH_TABLE_SIZE 4096
|
||||
|
||||
|
||||
Reference in New Issue
Block a user