Public Member Functions |
| void | set_rspm (Routing_Slip_Persistence_Manager *rspm) |
| void | reconnect (void) |
| virtual | ~Routing_Slip () |
| | Destructor (should be private but that inspires compiler wars)
|
| void | route (TAO_Notify_ProxyConsumer *pc, bool reliable_channel) |
| void | dispatch (TAO_Notify_ProxySupplier *proxy_supplier, bool filter) |
| | Schedule delivery to a consumer via a proxy supplier.
|
| void | wait_persist () |
| | Wait until the event/routing_slip has been saved at least once.
|
| void | delivery_request_complete (size_t request_id) |
| | A delivery request has been satisfied.
|
| void | at_front_of_persist_queue () |
| | This Routing_Slip reached the front of the persistence queue.
|
| virtual void | persist_complete () |
| | The persistent storage has completed the last request.
|
| const TAO_Notify_Event::Ptr & | event () const |
| int | sequence () const |
| | Provide an identifying number for this Routing Slip to use in debug messages.
|
| bool | should_retry () const |
| | Should delivery of this event be retried if it fails?
|
Static Public Member Functions |
| static Routing_Slip_Ptr | create (const TAO_Notify_Event::Ptr &event) |
| | "Factory" method for normal use.
|
| static Routing_Slip_Ptr | create (TAO_Notify_EventChannelFactory &ecf, Routing_Slip_Persistence_Manager *rspm) |
| | "Factory" method for use during reload from persistent storage.
|
Private Types |
| enum | State {
rssCREATING,
rssTRANSIENT,
rssRELOADED,
rssNEW,
rssCOMPLETE_WHILE_NEW,
rssSAVING,
rssSAVED,
rssUPDATING,
rssCHANGED_WHILE_SAVING,
rssCHANGED,
rssCOMPLETE,
rssDELETING,
rssTERMINAL
} |
typedef ACE_Guard
< TAO_SYNCH_MUTEX > | Routing_Slip_Guard |
Private Member Functions |
| void | enter_state_transient (Routing_Slip_Guard &guard) |
| void | continue_state_transient (Routing_Slip_Guard &guard) |
| void | enter_state_reloaded (Routing_Slip_Guard &guard) |
| void | enter_state_new (Routing_Slip_Guard &guard) |
| void | continue_state_new (Routing_Slip_Guard &guard) |
| void | enter_state_complete_while_new (Routing_Slip_Guard &guard) |
| void | enter_state_saving (Routing_Slip_Guard &guard) |
| void | enter_state_saved (Routing_Slip_Guard &guard) |
| void | enter_state_updating (Routing_Slip_Guard &guard) |
| void | enter_state_changed_while_saving (Routing_Slip_Guard &guard) |
| void | continue_state_changed_while_saving (Routing_Slip_Guard &guard) |
| void | enter_state_changed (Routing_Slip_Guard &guard) |
| void | continue_state_changed (Routing_Slip_Guard &guard) |
| void | enter_state_complete (Routing_Slip_Guard &guard) |
| void | enter_state_deleting (Routing_Slip_Guard &guard) |
| void | enter_state_terminal (Routing_Slip_Guard &guard) |
| bool | create_persistence_manager () |
| | Routing_Slip (const TAO_Notify_Event::Ptr &event) |
| | Private constructor for use by create method.
|
| bool | all_deliveries_complete () const |
| | Test to see if all deliveries are complete.
|
| void | add_to_persist_queue (Routing_Slip_Guard &guard) |
| | This routing_slip needs to be saved.
|
| void | marshal (TAO_OutputCDR &cdr) |
| | Marshal into a CDR.
|
| bool | unmarshal (TAO_Notify_EventChannelFactory &ecf, TAO_InputCDR &rscdr) |
| | Marshal from CDR.
|
Private Attributes |
| TAO_SYNCH_MUTEX | internals_ |
| | Protection for internal information.
|
| bool | is_safe_ |
| | true when event persistence qos is guaranteed
|
| ACE_SYNCH_CONDITION | until_safe_ |
| | signalled when is_safe_ goes true
|
| Routing_Slip_Ptr | this_ptr_ |
| TAO_Notify_Event::Ptr | event_ |
enum
TAO_Notify::Routing_Slip::State | state_ |
| Delivery_Request_Vec | delivery_requests_ |
| | A collection of delivery requests.
|
| Delivery_Method_Vec | delivery_methods_ |
| | Methods that should be restarted during event recovery.
|
| size_t | complete_requests_ |
| | How many delivery requests are complete.
|
| Routing_Slip_Persistence_Manager * | rspm_ |
| | Pointer to a Routing_Slip_Persistence_Manager.
|
| int | sequence_ |
Static Private Attributes |
| static TAO_SYNCH_MUTEX | sequence_lock_ |
| static int | routing_slip_sequence_ = 0 |
| static size_t | count_enter_transient_ = 0 |
| static size_t | count_continue_transient_ = 0 |
| static size_t | count_enter_reloaded_ = 0 |
| static size_t | count_enter_new_ = 0 |
| static size_t | count_continue_new_ = 0 |
| static size_t | count_enter_complete_while_new_ = 0 |
| static size_t | count_enter_saving_ = 0 |
| static size_t | count_enter_saved_ = 0 |
| static size_t | count_enter_updating_ = 0 |
| static size_t | count_enter_changed_while_saving_ = 0 |
| static size_t | count_continue_changed_while_saving_ = 0 |
| static size_t | count_enter_changed_ = 0 |
| static size_t | count_continue_changed_ = 0 |
| static size_t | count_enter_complete_ = 0 |
| static size_t | count_enter_deleting_ = 0 |
| static size_t | count_enter_terminal_ = 0 |
| static Routing_Slip_Queue | persistent_queue_ |
Class which manages the delivery of events to destination.
Interacts with persistent storage to provide reliable delivery.