Public Methods |
| TAO_Lookup (TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE > &trader) |
| ~TAO_Lookup (void) |
virtual void | query (const char *type, const char *constr, const char *pref, const CosTrading::PolicySeq &policies, const CosTrading::Lookup::SpecifiedProps &desired_props, CORBA::ULong how_many, CosTrading::OfferSeq_out offers, CosTrading::OfferIterator_out offer_itr, CosTrading::PolicyNameSeq_out limits_applied ACE_ENV_ARG_DECL) throw (CORBA::SystemException, CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, CosTrading::IllegalConstraint, CosTrading::Lookup::IllegalPreference, CosTrading::Lookup::IllegalPolicyName, CosTrading::Lookup::PolicyTypeMismatch, CosTrading::Lookup::InvalidPolicyValue, CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName, CosTrading::DuplicatePolicyName) |
Private Types |
typedef ACE_Unbounded_Queue<
CosTrading::Admin::OctetSeq *> | Request_Ids |
Private Methods |
TAO_Offer_Iterator * | create_offer_iterator (const TAO_Property_Filter &) |
| Factory method for creating an appropriate Offer Iterator based on the presence of the Register Interface. More...
|
void | lookup_all_subtypes (const char *type, CosTradingRepos::ServiceTypeRepository::IncarnationNumber &inc_num, TAO_Offer_Database< MAP_LOCK_TYPE > &offer_database, CosTradingRepos::ServiceTypeRepository_ptr rep, TAO_Constraint_Interpreter &constr_inter, TAO_Preference_Interpreter &pref_inter, TAO_Offer_Filter &offer_filter ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| Traverse the type hierarchy to pull the matching offers from all subtypes of the root type. More...
|
void | lookup_one_type (const char *type, TAO_Offer_Database< MAP_LOCK_TYPE > &offer_database, TAO_Constraint_Interpreter &constr_inter, TAO_Preference_Interpreter &pref_inter, TAO_Offer_Filter &offer_filter) |
| Check if offers of a type fit the constraints and order them according to the preferences submitted. More...
|
int | fill_receptacles (const char *, CORBA::ULong how_many, const CosTrading::Lookup::SpecifiedProps &desired_props, TAO_Policies &policies, TAO_Preference_Interpreter &pref_inter, CosTrading::OfferSeq &offers, CosTrading::OfferIterator_ptr &offer_itr ACE_ENV_ARG_DECL) throw (CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName) |
| This method takes the list of ordered offers and places a number of them in the sequence of returned offers and the rest into thr iterator. More...
|
void | forward_query (const char *next_hop, const char *type, const char *constr, const char *pref, const CosTrading::PolicySeq &policy_seq, const CosTrading::Lookup::SpecifiedProps &desired_props, CORBA::ULong how_many, CosTrading::OfferSeq_out offers, CosTrading::OfferIterator_out offer_itr, CosTrading::PolicyNameSeq_out limits_applied ACE_ENV_ARG_DECL) throw (CORBA::SystemException, CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, CosTrading::IllegalConstraint, CosTrading::Lookup::IllegalPreference, CosTrading::Lookup::IllegalPolicyName, CosTrading::Lookup::PolicyTypeMismatch, CosTrading::Lookup::InvalidPolicyValue, CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName, CosTrading::DuplicatePolicyName) |
| If a starting_trader policy was specfied, foward the query to the next link in the sequence. More...
|
CORBA::Boolean | retrieve_links (TAO_Policies &policies, CORBA::ULong offer_returned, CosTrading::LinkNameSeq_out links ACE_ENV_ARG_DECL) throw (CORBA::SystemException, CosTrading::Lookup::PolicyTypeMismatch) |
| Assemble a sequence of links that the federate_query method should follow. More...
|
void | federated_query (const CosTrading::LinkNameSeq &links, const TAO_Policies &policies, const CosTrading::Admin::OctetSeq &request_id, TAO_Preference_Interpreter &pref_inter, const char *type, const char *constr, const char *pref, const CosTrading::Lookup::SpecifiedProps &desired_props, CORBA::ULong how_many, CosTrading::OfferSeq &offers, CosTrading::OfferIterator_ptr &offer_itr, CosTrading::PolicyNameSeq &limits_applied ACE_ENV_ARG_DECL) throw (CORBA::SystemException, CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, CosTrading::IllegalConstraint, CosTrading::Lookup::IllegalPreference, CosTrading::Lookup::IllegalPolicyName, CosTrading::Lookup::PolicyTypeMismatch, CosTrading::Lookup::InvalidPolicyValue, CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName, CosTrading::DuplicatePolicyName) |
| Perform and pass on a query over a set of links. More...
|
void | order_merged_sequence (TAO_Preference_Interpreter &pref_inter, CosTrading::OfferSeq &offers) |
| Merge the results from a federated query into the collected results. More...
|
CORBA::Boolean | seen_request_id (TAO_Policies &policies, CosTrading::Admin::OctetSeq *&seq ACE_ENV_ARG_DECL) throw (CORBA::SystemException, CosTrading::Lookup::PolicyTypeMismatch) |
void | operator= (const TAO_Lookup< TRADER_LOCK_TYPE, MAP_LOCK_TYPE > &) |
| TAO_Lookup (const TAO_Lookup< TRADER_LOCK_TYPE, MAP_LOCK_TYPE > &) |
Private Attributes |
const unsigned int | IDS_SAVED |
TAO_Trader< TRADER_LOCK_TYPE,
MAP_LOCK_TYPE > & | trader_ |
| A reference to the trader for obtaining offer maps. More...
|
Request_Ids | request_ids_ |
| A list of recent request_id_stems. More...
|
TRADER_LOCK_TYPE | lock_ |
| Lock to secure the set of request ids. More...
|