version 1.24, 2002/02/22 19:16:39
|
version 1.25, 2002/02/25 23:57:08
|
|
|
Message* response) | Message* response) |
| |
{ | { |
|
|
|
if( request->getMask() & message_mask::ha_async) |
|
{ |
|
if (response->getMask() & message_mask::ha_async ) |
|
{ |
|
_completeAsyncResponse(static_cast<AsyncRequest *>(request), |
|
static_cast<AsyncReply *>(response), |
|
ASYNC_OPSTATE_COMPLETE, 0 ); |
|
return true; |
|
} |
|
} |
|
|
if(request->_async != 0 ) | if(request->_async != 0 ) |
{ | { |
Uint32 mask = request->_async->getMask(); | Uint32 mask = request->_async->getMask(); |
|
|
return true; | return true; |
} | } |
| |
|
// void MessageQueueService::handleEnqueue(Message *msg) |
|
// { |
| |
void MessageQueueService::handleEnqueue(Message *msg) |
|
{ |
|
| |
|
// if ( msg ) |
|
// delete msg; |
|
// } |
| |
if ( msg ) |
|
delete msg; |
|
} |
|
| |
|
// void MessageQueueService::handleEnqueue(void) |
void MessageQueueService::handleEnqueue(void) |
// { |
{ |
// Message *msg = dequeue(); |
Message *msg = dequeue(); |
// handleEnqueue(msg); |
handleEnqueue(msg); |
// } |
} |
|
| |
void MessageQueueService::handle_heartbeat_request(AsyncRequest *req) | void MessageQueueService::handle_heartbeat_request(AsyncRequest *req) |
{ | { |
|
|
// remove the legacy message from the request and enqueue it to its destination | // remove the legacy message from the request and enqueue it to its destination |
Uint32 result = async_results::CIM_NAK; | Uint32 result = async_results::CIM_NAK; |
| |
Message *legacy = req->act; |
Message *legacy = req->_act; |
if ( legacy != 0 ) | if ( legacy != 0 ) |
{ | { |
MessageQueue* queue = MessageQueue::lookup(req->legacy_destination); |
MessageQueue* queue = MessageQueue::lookup(req->_legacy_destination); |
if( queue != 0 ) | if( queue != 0 ) |
{ | { |
|
if(queue->isAsync() == true ) |
|
{ |
|
(static_cast<MessageQueueService *>(queue))->handleEnqueue(legacy); |
|
} |
|
else |
|
{ |
// Enqueue the response: | // Enqueue the response: |
queue->enqueue(legacy); |
queue->enqueue(req->get_action()); |
|
} |
|
|
result = async_results::OK; | result = async_results::OK; |
} | } |
} | } |