#include <Routing_Slip.h>
Inheritance diagram for TAO_Notify::Routing_Slip:
Interacts with persistent storage to provide reliable delivery.
typedef ACE_Guard< TAO_SYNCH_MUTEX > TAO_Notify::Routing_Slip::Routing_Slip_Guard [private] |
enum TAO_Notify::Routing_Slip::State [private] |
TAO_Notify::Routing_Slip::~Routing_Slip | ( | ) | [virtual] |
destructor (should be private but that inspires compiler wars)
TAO_Notify::Routing_Slip::Routing_Slip | ( | const TAO_Notify_Event::Ptr & | event | ) | [private] |
Private constructor for use by create method.
void TAO_Notify::Routing_Slip::add_to_persist_queue | ( | Routing_Slip_Guard & | guard | ) | [private] |
This routing_slip needs to be saved.
bool TAO_Notify::Routing_Slip::all_deliveries_complete | ( | ) | const [private] |
Test to see if all deliveries are complete.
void TAO_Notify::Routing_Slip::at_front_of_persist_queue | ( | ) |
This Routing_Slip reached the front of the persistence queue.
void TAO_Notify::Routing_Slip::continue_state_changed | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::continue_state_changed_while_saving | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::continue_state_new | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::continue_state_transient | ( | Routing_Slip_Guard & | guard | ) | [private] |
Routing_Slip_Ptr TAO_Notify::Routing_Slip::create | ( | TAO_Notify_EventChannelFactory & | ecf, | |
Routing_Slip_Persistence_Manager * | rspm | |||
) | [static] |
"Factory" method for use during reload from persistent storage.
Routing_Slip_Ptr TAO_Notify::Routing_Slip::create | ( | const TAO_Notify_Event::Ptr & | event | ) | [static] |
"Factory" method for normal use.
bool TAO_Notify::Routing_Slip::create_persistence_manager | ( | ) | [private] |
void TAO_Notify::Routing_Slip::delivery_request_complete | ( | size_t | request_id | ) |
A delivery request has been satisfied.
void TAO_Notify::Routing_Slip::dispatch | ( | TAO_Notify_ProxySupplier * | proxy_supplier, | |
bool | filter | |||
) |
Schedule delivery to a consumer via a proxy supplier.
proxy_supplier | the proxy supplier that will deliver the event | |
filter | should consumer-based filtering be applied? |
void TAO_Notify::Routing_Slip::enter_state_changed | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_changed_while_saving | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_complete | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_complete_while_new | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_deleting | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_new | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_reloaded | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_saved | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_saving | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_terminal | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_transient | ( | Routing_Slip_Guard & | guard | ) | [private] |
void TAO_Notify::Routing_Slip::enter_state_updating | ( | Routing_Slip_Guard & | guard | ) | [private] |
const TAO_Notify_Event::Ptr & TAO_Notify::Routing_Slip::event | ( | ) | const |
void TAO_Notify::Routing_Slip::marshal | ( | TAO_OutputCDR & | cdr | ) | [private] |
Marshal into a CDR.
void TAO_Notify::Routing_Slip::persist_complete | ( | ) | [virtual] |
void TAO_Notify::Routing_Slip::reconnect | ( | ) |
void TAO_Notify::Routing_Slip::route | ( | TAO_Notify_ProxyConsumer * | pc, | |
bool | reliable_channel | |||
) |
Route this event to destinations must be the Action request after the routing slip is created.
int TAO_Notify::Routing_Slip::sequence | ( | ) | const |
Provide an identifying number for this Routing Slip to use in debug messages.
void TAO_Notify::Routing_Slip::set_rspm | ( | Routing_Slip_Persistence_Manager * | rspm | ) |
bool TAO_Notify::Routing_Slip::should_retry | ( | ) | const |
Should delivery of this event be retried if it fails?
bool TAO_Notify::Routing_Slip::unmarshal | ( | TAO_Notify_EventChannelFactory & | ecf, | |
TAO_InputCDR & | rscdr | |||
) | [private] |
Marshal from CDR.
void TAO_Notify::Routing_Slip::wait_persist | ( | ) |
Wait until the event/routing_slip has been saved at least once.
size_t TAO_Notify::Routing_Slip::complete_requests_ [private] |
How many delivery requests are complete.
size_t TAO_Notify::Routing_Slip::count_continue_changed_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_continue_changed_while_saving_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_continue_new_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_continue_transient_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_changed_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_changed_while_saving_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_complete_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_complete_while_new_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_deleting_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_new_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_reloaded_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_saved_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_saving_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_terminal_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_transient_ = 0 [static, private] |
size_t TAO_Notify::Routing_Slip::count_enter_updating_ = 0 [static, private] |
Methods that should be restarted during event recovery.
A collection of delivery requests.
Protection for internal information.
bool TAO_Notify::Routing_Slip::is_safe_ [private] |
true when event persistence qos is guaranteed
Routing_Slip_Queue TAO_Notify::Routing_Slip::persistent_queue_ [static, private] |
int TAO_Notify::Routing_Slip::routing_slip_sequence_ = 0 [static, private] |
Pointer to a Routing_Slip_Persistence_Manager.
int TAO_Notify::Routing_Slip::sequence_ [private] |
TAO_SYNCH_MUTEX TAO_Notify::Routing_Slip::sequence_lock_ [static, private] |
enum TAO_Notify::Routing_Slip::State TAO_Notify::Routing_Slip::state_ [private] |
A mini-state machine to control persistence See external doc for circles and arrows.
Smart pointer to this object Provides continuity between smart pointers and "Routing_Slip::this" Also lets the Routing_Slip manage its own minimum lifetime.
signalled when is_safe_ goes true