o added new ioQue so the server will not wedge one of its clients
when simultaneouly in flow control mode and also asynchronous io postponed mode. o simplified the status from the process func because callers should not need to know how many messages have been sent
This commit is contained in:
@@ -68,12 +68,7 @@ public:
|
||||
casEventSys ( casCoreClient & );
|
||||
~casEventSys ();
|
||||
void show ( unsigned level ) const;
|
||||
struct processStatus {
|
||||
casProcCond cond;
|
||||
unsigned nAccepted;
|
||||
};
|
||||
processStatus process (
|
||||
epicsGuard < casClientMutex > & guard );
|
||||
casProcCond process ( epicsGuard < casClientMutex > & guard );
|
||||
void installMonitor ();
|
||||
void removeMonitor ();
|
||||
void prepareMonitorForDestroy ( casMonitor & mon );
|
||||
@@ -97,6 +92,7 @@ public:
|
||||
private:
|
||||
mutable evSysMutex mutex;
|
||||
tsDLList < casEvent > eventLogQue;
|
||||
tsDLList < casEvent > ioQue;
|
||||
tsFreeList < casMonEvent, 1024, epicsMutexNOOP > casMonEventFreeList;
|
||||
casCoreClient & client;
|
||||
class casEventPurgeEv * pPurgeEvent; // flow control purge complete event
|
||||
@@ -104,7 +100,7 @@ private:
|
||||
unsigned maxLogEntries; // max log entries
|
||||
bool destroyPending;
|
||||
bool replaceEvents; // replace last existing event on queue
|
||||
bool dontProcess; // flow ctl is on - dont process event queue
|
||||
bool dontProcessSubscr; // flow ctl is on - dont process subscr event queue
|
||||
|
||||
bool full () const;
|
||||
casEventSys ( const casEventSys & );
|
||||
@@ -141,7 +137,7 @@ inline casEventSys::casEventSys ( casCoreClient & clientIn ) :
|
||||
maxLogEntries ( individualEventEntries ),
|
||||
destroyPending ( false ),
|
||||
replaceEvents ( false ),
|
||||
dontProcess ( false )
|
||||
dontProcessSubscr ( false )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user