Added rsrv statistics fetch for vxStats

This commit is contained in:
Jeff Hill
2005-09-23 15:12:26 +00:00
parent 40c042572f
commit d42c47fa85
5 changed files with 31 additions and 4 deletions
+5
View File
@@ -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);
+16
View File
@@ -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;
}
+3 -2
View File
@@ -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
View File
@@ -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)
+1
View File
@@ -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