14 #include <vlutil/vlTime.h>
15 #include <vlutil/vlString.h>
21 namespace MAKTrafficClientServerExConn
24 class DtClientExerciseConnection;
33 DtTaCallbackBuffer(DtTaCallback* callbackToMake=0,
unsigned int clientID=0);
36 DtTaCallbackBuffer(
const DtTaCallbackBuffer& orig);
39 virtual ~DtTaCallbackBuffer();
42 DtTaCallbackBuffer& operator=(
const DtTaCallbackBuffer& orig);
45 virtual DtTaCallback* callback();
48 virtual unsigned int sourceClientID();
51 virtual void setCallback(DtTaCallback* callbackToMake,
unsigned int clientID,
52 const std::set<unsigned int>& pendingCallers,
const std::set<unsigned int>& callers);
57 virtual bool invokeCallback(DtClientExerciseConnection* client);
60 virtual void addPending(
unsigned int callerID);
63 virtual void removePending(
unsigned int callerID);
67 virtual unsigned int callbackPending(
unsigned int connID=0)
const;
71 virtual unsigned int callbackPendingEvaluation(
unsigned int connID=0)
const;
75 virtual bool getCallbackPending(DtString& list)
const;
79 virtual bool getCallbackPendingEvaluation(DtString& list)
const;
87 static void setMaximumConnections(
unsigned int maxConns);
90 static unsigned int maximumConnections();
95 DtTaCallback* myCallback;
98 std::vector<bool> myPendingCallers;
101 std::vector<bool> myCallPending;
104 std::vector<bool> myCallPendingEvaluation;
107 unsigned int mySourceClientID;
112 static unsigned int theMaxConnections;
115 typedef std::vector<DtTaCallbackBuffer> DtTaCallbackVector;
116 typedef std::queue<DtTaCallbackBuffer> DtTaCallbackQueue;
117 typedef std::vector<DtTaCallbackQueue> DtTaCallbackQueueVector;