CMSDK  2.0.1
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
cmlabs::RequestExecutor Class Reference
Inheritance diagram for cmlabs::RequestExecutor:
cmlabs::Runnable cmlabs::NetworkReceiver cmlabs::TestRequestExecutor

Public Member Functions

 RequestExecutor (uint32 id=0, const char *name=NULL)
 
bool shutdownNetwork ()
 
bool addLongRequestName (const char *name)
 
bool addGateway (uint32 id, std::string addr, uint16 port, uint8 encryption=NOENC)
 
bool setLongRequestLimit (uint32 limit)
 
bool receiveNetworkEvent (NetworkEvent *evt, NetworkChannel *channel, uint64 conid)
 
bool receiveMessage (DataMessage *msg, NetworkChannel *channel, uint64 conid)
 
bool receiveHTTPRequest (HTTPRequest *req, NetworkChannel *channel, uint64 conid)
 
DataMessagewaitForLongRequest (uint32 timeoutMS)
 
DataMessagewaitForShortRequest (uint32 timeoutMS)
 
bool replyToQuery (DataMessage *msg)
 
- Public Member Functions inherited from cmlabs::Runnable
virtual bool stop (uint32 timeout=200)
 
- Public Member Functions inherited from cmlabs::NetworkReceiver
virtual bool receiveTelnetLine (TelnetLine *line, NetworkChannel *channel, uint64 conid)
 
virtual bool receiveHTTPReply (HTTPReply *reply, HTTPRequest *req, NetworkChannel *channel, uint64 conid)
 

Protected Member Functions

bool run ()
 
uint32 sendStatusNow ()
 
bool sendMessageToGateway (DataMessage *msg, RequestGatewayConnection &con)
 
bool replyToGateway (DataMessage *msg)
 

Protected Attributes

std::list< RequestGatewayConnectionconnections
 
uint32 executorID
 
std::string executorName
 
NetworkManagermanager
 
NetworkChannelchannel
 
utils::WaitQueuePointer< DataMessage * > shortExecQ
 
utils::WaitQueuePointer< DataMessage * > longExecQ
 
utils::WaitQueuePointer< DataMessage * > replyQ
 
std::map< uint64, RequestReply * > requestMap
 
std::vector< std::string > longReqNames
 
utils::Mutex mutex
 
utils::Mutex conMutex
 
utils::Semaphore shortExecQSemaphore
 
utils::Semaphore longExecQSemaphore
 
uint32 threadID
 
uint64 lastRefID
 
uint64 repliedCount
 
uint64 sentCount
 
uint64 shortReceivedCount
 
uint64 longReceivedCount
 
int32 heartbeatIntervalMS
 
uint64 lastHeartbeat
 
uint32 longReqLimit
 
- Protected Attributes inherited from cmlabs::Runnable
uint32 threadID
 
bool shouldContinue
 
bool isRunning
 

Friends

THREAD_RET THREAD_FUNCTION_CALL RequestExecutorRun (THREAD_ARG arg)
 

The documentation for this class was generated from the following files: