TAO_CosNotification  2.4.1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
TAO_Notify::Delivery_Request Class Reference

Represents a request to deliver an event to a particular destination. More...

#include <Delivery_Request.h>

Collaboration diagram for TAO_Notify::Delivery_Request:
Collaboration graph
[legend]

Public Member Functions

 Delivery_Request (const Routing_Slip_Ptr &routing_slip, size_t request_id)
 
 ~Delivery_Request ()
 a normal destructor. More...
 
void complete ()
 A method to indicate the delivery is complete. More...
 
const TAO_Notify_Event::Ptrevent () const
 An accessor method for the event associated with the Routing Slip that owns this Delivery request. More...
 
const Routing_Slip_Ptrrouting_slip () const
 An accessor method for the routing slip that owns this request. More...
 
void set_delivery_type (ACE_CDR::Octet type)
 Capture Delivery Type for the Delivery Method. More...
 
void set_destination_id (IdVec &destination_id)
 Capture destination ID for the Delivery Request. More...
 
void marshal (TAO_OutputCDR &cdr)
 Marshal peristent information for this delivery request and its delivery methods into a CDR stream. More...
 
unsigned long sequence () const
 expose routing slip method More...
 
bool should_retry () const
 expose routing slip method More...
 
void dispatch (TAO_Notify_ProxySupplier *proxy_supplier, bool filter)
 expose routing slip method More...
 
bool operator== (const Delivery_Request &rhs) const
 
bool operator!= (const Delivery_Request &rhs) const
 

Static Public Member Functions

static 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. More...
 

Private Member Functions

 Delivery_Request ()
 No null constructor. More...
 
 Delivery_Request (const Delivery_Request &rhs)
 No copy constructor. More...
 
Delivery_Requestoperator= (const Delivery_Request &rhs)
 no assignment operator More...
 

Private Attributes

Routing_Slip_Ptr routing_slip_
 
size_t request_id_
 
ACE_CDR::Octet delivery_type_
 
IdVec destination_id_
 

Detailed Description

Represents a request to deliver an event to a particular destination.

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.

Constructor & Destructor Documentation

TAO_Notify::Delivery_Request::Delivery_Request ( const Routing_Slip_Ptr routing_slip,
size_t  request_id 
)

Normal constructor

Parameters
routing_slipthe routing slip that owns this Delivery Request.
request_idan id that identifies this Delivery Request to the Routing Slip.
TAO_Notify::Delivery_Request::~Delivery_Request ( )

a normal destructor.

TAO_Notify::Delivery_Request::Delivery_Request ( )
private

No null constructor.

TAO_Notify::Delivery_Request::Delivery_Request ( const Delivery_Request rhs)
private

No copy constructor.

Member Function Documentation

void TAO_Notify::Delivery_Request::complete ( )

A method to indicate the delivery is complete.

To be called by the delivery method associated with this delivery request.

static Delivery_Request_Ptr TAO_Notify::Delivery_Request::create ( const Routing_Slip_Ptr routing_slip,
size_t  request_id,
TAO_Notify_EventChannelFactory ecf,
TAO_InputCDR cdr 
)
static

A static "factory" method for use during restart.

Parameters
routing_slipThe routing slip to which the new Delivery Request should be attached.
request_idThe id used to identify this Delivery Request to the Routing Slip.
ecfThe EventChannelFactory responsible for reloading this Delivery Method.
cdrA CDR stream from which the peristent information for this Delivery Requect can be retrieved.
Returns
a pointer to the newly-allocated Delivery Request
void TAO_Notify::Delivery_Request::dispatch ( TAO_Notify_ProxySupplier proxy_supplier,
bool  filter 
)

expose routing slip method

const TAO_Notify_Event::Ptr & TAO_Notify::Delivery_Request::event ( ) const

An accessor method for the event associated with the Routing Slip that owns this Delivery request.

void TAO_Notify::Delivery_Request::marshal ( TAO_OutputCDR cdr)

Marshal peristent information for this delivery request and its delivery methods into a CDR stream.

Called during persistent event storage.

bool TAO_Notify::Delivery_Request::operator!= ( const Delivery_Request rhs) const
Delivery_Request& TAO_Notify::Delivery_Request::operator= ( const Delivery_Request rhs)
private

no assignment operator

bool TAO_Notify::Delivery_Request::operator== ( const Delivery_Request rhs) const
const Routing_Slip_Ptr & TAO_Notify::Delivery_Request::routing_slip ( ) const

An accessor method for the routing slip that owns this request.

unsigned long TAO_Notify::Delivery_Request::sequence ( ) const

expose routing slip method

void TAO_Notify::Delivery_Request::set_delivery_type ( ACE_CDR::Octet  type)

Capture Delivery Type for the Delivery Method.

Called by the delivery method to capture information that should be persisted.

void TAO_Notify::Delivery_Request::set_destination_id ( IdVec destination_id)

Capture destination ID for the Delivery Request.

Called by the delivery method to capture information that should be persisted.

bool TAO_Notify::Delivery_Request::should_retry ( ) const

expose routing slip method

Member Data Documentation

ACE_CDR::Octet TAO_Notify::Delivery_Request::delivery_type_
private
IdVec TAO_Notify::Delivery_Request::destination_id_
private
size_t TAO_Notify::Delivery_Request::request_id_
private
Routing_Slip_Ptr TAO_Notify::Delivery_Request::routing_slip_
private

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