#include <QueueManager.hpp>
Protected Attributes | |
QueueTable | namedQueues |
QueueTable | sessionQueues |
SysMutex | lock |
Friends | |
class | DataQueue |
class | QueueTable |
Definition at line 241 of file QueueManager.hpp.
|
inline |
Definition at line 246 of file QueueManager.hpp.
References SysMutex::create(), and lock.
void ServerQueueManager::addToNamedQueue | ( | ServiceMessage & | message | ) |
Definition at line 475 of file QueueManager.cpp.
References DataQueue::add(), QueueTable::locate(), ServiceMessage::nameArg, namedQueues, QUEUE_DOES_NOT_EXIST, and ServiceMessage::setResult().
Referenced by dispatch().
void ServerQueueManager::addToSessionQueue | ( | ServiceMessage & | message | ) |
Definition at line 462 of file QueueManager.cpp.
References DataQueue::add(), getSessionQueue(), and ServiceMessage::parameter3.
Referenced by dispatch().
void ServerQueueManager::cleanupProcessResources | ( | SessionID | session | ) |
Definition at line 931 of file QueueManager.cpp.
References deleteSessionQueue(), QueueTable::locate(), and sessionQueues.
Referenced by APIServerInstance::cleanupProcessResources().
void ServerQueueManager::clearNamedQueue | ( | ServiceMessage & | message | ) |
Definition at line 846 of file QueueManager.cpp.
References DataQueue::clear(), QueueTable::locate(), ServiceMessage::nameArg, namedQueues, QUEUE_DOES_NOT_EXIST, QUEUE_EXISTS, and ServiceMessage::setResult().
Referenced by dispatch().
void ServerQueueManager::clearSessionQueue | ( | ServiceMessage & | message | ) |
Definition at line 831 of file QueueManager.cpp.
References DataQueue::clear(), getSessionQueue(), ServiceMessage::parameter1, QUEUE_EXISTS, and ServiceMessage::setResult().
Referenced by dispatch().
void ServerQueueManager::createNamedQueue | ( | ServiceMessage & | message | ) |
Definition at line 628 of file QueueManager.cpp.
References QueueTable::add(), createUniqueQueue(), DataQueue, DUPLICATE_QUEUE_NAME, QueueTable::locate(), ServiceMessage::nameArg, namedQueues, QUEUE_CREATED, and ServiceMessage::setResult().
Referenced by dispatch().
void ServerQueueManager::createSessionQueue | ( | ServiceMessage & | message | ) |
Definition at line 578 of file QueueManager.cpp.
References ServiceMessage::parameter1, QUEUE_CREATED, and ServiceMessage::setResult().
Referenced by dispatch(), and nestSessionQueue().
void ServerQueueManager::createSessionQueue | ( | SessionID | session | ) |
Definition at line 555 of file QueueManager.cpp.
References QueueTable::add(), DataQueue::addReference(), DataQueue, QueueTable::locate(), and sessionQueues.
void ServerQueueManager::createUniqueQueue | ( | ServiceMessage & | message | ) |
Create a queue with a unique name.
message | The inbound service message. |
Definition at line 592 of file QueueManager.cpp.
References QueueTable::add(), DataQueue, QueueTable::locate(), ServiceMessage::nameArg, namedQueues, ServiceMessage::parameter1, and DataQueue::setName().
Referenced by createNamedQueue().
void ServerQueueManager::deleteNamedQueue | ( | ServiceMessage & | message | ) |
Definition at line 765 of file QueueManager.cpp.
References DataQueue::hasWaiters(), QueueTable::locate(), ServiceMessage::nameArg, namedQueues, QUEUE_DELETED, QUEUE_DOES_NOT_EXIST, QUEUE_IN_USE, QueueTable::remove(), and ServiceMessage::setResult().
Referenced by dispatch().
void ServerQueueManager::deleteSessionQueue | ( | DataQueue * | queue | ) |
Definition at line 747 of file QueueManager.cpp.
References DataQueue::hasWaiters(), QueueTable::remove(), DataQueue::removeReference(), and sessionQueues.
void ServerQueueManager::deleteSessionQueue | ( | ServiceMessage & | message | ) |
Definition at line 724 of file QueueManager.cpp.
References getSessionQueue(), ServiceMessage::parameter1, QUEUE_DELETED, QUEUE_IN_USE, QueueTable::remove(), sessionQueues, and ServiceMessage::setResult().
Referenced by cleanupProcessResources(), and dispatch().
void ServerQueueManager::dispatch | ( | ServiceMessage & | message | ) |
Dispatch a queue manager message to the appropriate action.
message | The inbound message from the client. |
Definition at line 869 of file QueueManager.cpp.
References ADD_TO_NAMED_QUEUE, ADD_TO_SESSION_QUEUE, addToNamedQueue(), addToSessionQueue(), CLEAR_NAMED_QUEUE, CLEAR_SESSION_QUEUE, clearNamedQueue(), clearSessionQueue(), CREATE_NAMED_QUEUE, CREATE_SESSION_QUEUE, createNamedQueue(), createSessionQueue(), DELETE_NAMED_QUEUE, DELETE_SESSION_QUEUE, deleteNamedQueue(), deleteSessionQueue(), GET_NAMED_QUEUE_COUNT, GET_SESSION_QUEUE_COUNT, getNamedQueueCount(), getSessionQueueCount(), lock, NEST_SESSION_QUEUE, nestSessionQueue(), OPEN_NAMED_QUEUE, openNamedQueue(), ServiceMessage::operation, PULL_FROM_NAMED_QUEUE, PULL_FROM_SESSION_QUEUE, pullFromNamedQueue(), pullFromSessionQueue(), QUERY_NAMED_QUEUE, queryNamedQueue(), SERVER_FAILURE, and ServiceMessage::setExceptionInfo().
Referenced by APIServerInstance::dispatch().
void ServerQueueManager::getNamedQueueCount | ( | ServiceMessage & | message | ) |
Definition at line 809 of file QueueManager.cpp.
References DataQueue::getItemCount(), QueueTable::locate(), ServiceMessage::nameArg, namedQueues, ServiceMessage::parameter1, QUEUE_DOES_NOT_EXIST, QUEUE_EXISTS, and ServiceMessage::setResult().
Referenced by dispatch().
Definition at line 534 of file QueueManager.cpp.
References QueueTable::add(), DataQueue, QueueTable::locate(), lock, and sessionQueues.
Referenced by addToSessionQueue(), clearSessionQueue(), deleteSessionQueue(), getSessionQueueCount(), and pullFromSessionQueue().
void ServerQueueManager::getSessionQueueCount | ( | ServiceMessage & | message | ) |
Definition at line 794 of file QueueManager.cpp.
References getSessionQueue(), ServiceMessage::parameter1, QUEUE_EXISTS, and ServiceMessage::setResult().
Referenced by dispatch().
|
inline |
Definition at line 270 of file QueueManager.hpp.
References QueueTable::isEmpty(), namedQueues, and sessionQueues.
Referenced by APIServerInstance::isStoppable().
void ServerQueueManager::nestSessionQueue | ( | ServiceMessage & | message | ) |
Definition at line 709 of file QueueManager.cpp.
References createSessionQueue(), ServiceMessage::parameter1, ServiceMessage::parameter2, QUEUE_OK, and ServiceMessage::setResult().
Referenced by dispatch().
void ServerQueueManager::openNamedQueue | ( | ServiceMessage & | message | ) |
Definition at line 664 of file QueueManager.cpp.
References QueueTable::add(), DataQueue, QueueTable::locate(), ServiceMessage::nameArg, namedQueues, QUEUE_CREATED, QUEUE_EXISTS, and ServiceMessage::setResult().
Referenced by dispatch().
void ServerQueueManager::pullFromNamedQueue | ( | ServiceMessage & | message | ) |
Definition at line 511 of file QueueManager.cpp.
References ServiceMessage::nameArg, namedQueues, DataQueue::pull(), QUEUE_DOES_NOT_EXIST, ServiceMessage::setResult(), and QueueTable::synchronizedLocate().
Referenced by dispatch().
void ServerQueueManager::pullFromSessionQueue | ( | ServiceMessage & | message | ) |
Definition at line 498 of file QueueManager.cpp.
References getSessionQueue(), ServiceMessage::parameter3, and DataQueue::pull().
Referenced by dispatch().
void ServerQueueManager::queryNamedQueue | ( | ServiceMessage & | message | ) |
Definition at line 688 of file QueueManager.cpp.
References QueueTable::locate(), ServiceMessage::nameArg, namedQueues, QUEUE_DOES_NOT_EXIST, QUEUE_EXISTS, and ServiceMessage::setResult().
Referenced by dispatch().
void ServerQueueManager::terminateServer | ( | ) |
|
friend |
Definition at line 243 of file QueueManager.hpp.
Referenced by createNamedQueue(), createSessionQueue(), createUniqueQueue(), getSessionQueue(), and openNamedQueue().
|
friend |
Definition at line 244 of file QueueManager.hpp.
|
protected |
Definition at line 279 of file QueueManager.hpp.
Referenced by dispatch(), getSessionQueue(), DataQueue::pull(), DataQueue::pullData(), ServerQueueManager(), and QueueTable::synchronizedLocate().
|
protected |
Definition at line 277 of file QueueManager.hpp.
Referenced by addToNamedQueue(), clearNamedQueue(), createNamedQueue(), createUniqueQueue(), deleteNamedQueue(), getNamedQueueCount(), isStoppable(), openNamedQueue(), pullFromNamedQueue(), and queryNamedQueue().
|
protected |
Definition at line 278 of file QueueManager.hpp.
Referenced by cleanupProcessResources(), createSessionQueue(), deleteSessionQueue(), getSessionQueue(), and isStoppable().