#include <Delivery_Request.h>
Collaboration diagram for TAO_Notify::Delivery_Request:
Public Member Functions | |
Delivery_Request (const Routing_Slip_Ptr &routing_slip, size_t request_id) | |
~Delivery_Request () | |
a normal destructor. | |
void | complete () |
A method to indicate the delivery is complete. | |
const TAO_Notify_Event::Ptr & | event () const |
An accessor method for the event associated with the Routing Slip that owns this Delivery request. | |
const Routing_Slip_Ptr & | routing_slip () const |
An accessor method for the routing slip that owns this request. | |
void | set_delivery_type (ACE_CDR::Octet type) |
Capture Delivery Type for the Delivery Method. | |
void | set_destination_id (IdVec &destination_id) |
Capture destination ID for the Delivery Request. | |
void | marshal (TAO_OutputCDR &cdr) |
Marshal peristent information for this delivery request and its delivery methods into a CDR stream. | |
unsigned long | sequence () const |
expose routing slip method | |
bool | should_retry () const |
expose routing slip method | |
void | dispatch (TAO_Notify_ProxySupplier *proxy_supplier, bool filter) |
expose routing slip method | |
bool | operator== (const Delivery_Request &rhs) const |
bool | operator!= (const Delivery_Request &rhs) const |
Static Public Member Functions | |
Delivery_Request_Ptr | create (const Routing_Slip_Ptr &routing_slip, size_t request_id, TAO_Notify_EventChannelFactory &ecf, TAO_InputCDR &cdr) |
A static "factory" method for use during restart. | |
Private Member Functions | |
Delivery_Request () | |
No null constructor. | |
Delivery_Request (const Delivery_Request &rhs) | |
No copy constructor. | |
Delivery_Request & | operator= (const Delivery_Request &rhs) |
no assignment operator | |
Private Attributes | |
Routing_Slip_Ptr | routing_slip_ |
size_t | request_id_ |
ACE_CDR::Octet | delivery_type_ |
IdVec | destination_id_ |
A Routing Slip contains a collection of Delivery Requests. A Delivery Request is associated with a Delivery Method. Delivery Methods should be lightweight objects because they are copied, queued, and otherwise passed around while they are waiting to be executed. The Delivery Request is more stable.
Definition at line 47 of file Delivery_Request.h.
|
Normal constructor
Definition at line 26 of file Delivery_Request.cpp. References ACE_DEBUG, ACE_TEXT(), DEBUG_LEVEL, LM_DEBUG, and TAO_Notify::Routing_Slip_Ptr.
00027 : routing_slip_ (routing_slip) 00028 , request_id_ (request_id) 00029 , delivery_type_ (0) 00030 { 00031 if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, 00032 ACE_TEXT ("(%P|%t) Delivery_Request:: constructor\n") 00033 )); 00034 } |
|
a normal destructor.
Definition at line 36 of file Delivery_Request.cpp. References ACE_DEBUG, ACE_TEXT(), DEBUG_LEVEL, and LM_DEBUG.
00037 { 00038 if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG, 00039 ACE_TEXT ("(%P|%t) Delivery_Request:: destructor\n") 00040 )); 00041 } |
|
No null constructor.
|
|
No copy constructor.
|
|
A method to indicate the delivery is complete. To be called by the delivery method associated with this delivery request. Definition at line 46 of file Delivery_Request.cpp. References routing_slip_.
00047 { 00048 routing_slip_->delivery_request_complete (this->request_id_); 00049 } |
|
A static "factory" method for use during restart.
|
|
expose routing slip method
Definition at line 88 of file Delivery_Request.cpp. References ACE_ENV_ARG_PARAMETER, and routing_slip_.
00091 { 00092 this->routing_slip_->dispatch (proxy_supplier, filter ACE_ENV_ARG_PARAMETER); 00093 } |
|
An accessor method for the event associated with the Routing Slip that owns this Delivery request.
Definition at line 54 of file Delivery_Request.cpp. References routing_slip_.
00055 { 00056 return this->routing_slip_->event (); 00057 } |
|
Marshal peristent information for this delivery request and its delivery methods into a CDR stream. Called during persistent event storage. Definition at line 60 of file Delivery_Request.cpp. References delivery_type_, destination_id_, ACE_Vector< T, DEFAULT_SIZE >::size(), ACE_OutputCDR::write_octet(), and ACE_OutputCDR::write_ulong(). Referenced by TAO_Notify::Routing_Slip::marshal().
00061 { 00062 if (this->delivery_type_ != 0) 00063 { 00064 cdr.write_octet (this->delivery_type_); 00065 size_t dest_count = this->destination_id_.size (); 00066 cdr.write_ulong (dest_count); 00067 for (size_t ndest = 0; ndest < dest_count; ++ ndest) 00068 { 00069 cdr.write_ulong (this->destination_id_ [ndest]); 00070 } 00071 } 00072 } |
|
|
|
no assignment operator
|
|
|
|
An accessor method for the routing slip that owns this request.
Definition at line 96 of file Delivery_Request.cpp. References routing_slip_.
00097 { 00098 return this->routing_slip_; 00099 } |
|
expose routing slip method
Definition at line 75 of file Delivery_Request.cpp. References routing_slip_.
00076 { 00077 return this->routing_slip_->sequence (); 00078 } |
|
Capture Delivery Type for the Delivery Method. Called by the delivery method to capture information that should be persisted. Definition at line 12 of file Delivery_Request.inl. References delivery_type_.
00013 { 00014 this->delivery_type_ = type; 00015 } |
|
Capture destination ID for the Delivery Request. Called by the delivery method to capture information that should be persisted. Definition at line 19 of file Delivery_Request.inl. References destination_id_, and TAO_Notify::IdVec.
00020 { 00021 this->destination_id_ = destination_id; 00022 } |
|
expose routing slip method
Definition at line 82 of file Delivery_Request.cpp. References routing_slip_.
00083 { 00084 return this->routing_slip_->should_retry (); 00085 } |
|
Definition at line 122 of file Delivery_Request.h. Referenced by marshal(), and set_delivery_type(). |
|
Definition at line 123 of file Delivery_Request.h. Referenced by marshal(), and set_destination_id(). |
|
Definition at line 121 of file Delivery_Request.h. |
|
Definition at line 120 of file Delivery_Request.h. Referenced by complete(), dispatch(), event(), routing_slip(), sequence(), and should_retry(). |