The registry namespace contains classes implementing the service registry protocol. More...
Classes | |
| struct | RegistryEntry |
| class | Registry |
Typedefs | |
| typedef boost::multi_index_container < RegistryEntry, boost::multi_index::indexed_by < boost::multi_index::hashed_non_unique < boost::multi_index::member < RegistryEntry, string,&RegistryEntry::service_name > >, boost::multi_index::hashed_non_unique < boost::multi_index::member < RegistryEntry, string,&RegistryEntry::service_type > >, boost::multi_index::hashed_unique < boost::multi_index::composite_key < RegistryEntry, boost::multi_index::member < RegistryEntry, string,&RegistryEntry::service_name > , boost::multi_index::member < RegistryEntry, string,&RegistryEntry::service_type > > > > > | service_map |
| typedef service_map::nth_index < ByName >::type | index_by_name |
| typedef service_map::nth_index < ByType >::type | index_by_type |
| typedef service_map::nth_index < ByComposite >::type | index_by_composite |
| typedef std::vector< string > | query_list |
| typedef std::vector< string > | service_type_list |
| typedef protocol::MessageRegistry < QueryAll > | MessageQueryAll |
| typedef BinaryPackingTraits | RegistryPackingTraits |
| typedef NS_SSRC_WISP_PROTOCOL::Caller < RegistryPackingTraits > | RegistryCaller |
Enumerations | |
| enum | RegistryMessageType { Register, Reregister, Unregister, QueryResult, QueryByName, QueryByType, QueryAll } |
| enum | IndexScheme { ByName, ByType, ByComposite } |
Functions | |
| string | service_group_registry () |
| Returns a string identifying the group to which all Registry instances belong. | |
| string | event_group_register () |
| WISP_PROTOCOL_MESSAGE (Register, protocol::MessageRegistry,((string, service_name))((service_type_list, service_types))) | |
| WISP_PROTOCOL_MESSAGE (Reregister, protocol::MessageRegistry,((string, service_name))((service_type_list, service_types))) | |
| WISP_PROTOCOL_MESSAGE (Unregister, protocol::MessageRegistry,((string, service_name))((service_type_list, service_types))) | |
| WISP_PROTOCOL_MESSAGE (QueryResult, protocol::MessageRegistry,((service_map, result))) | |
| WISP_PROTOCOL_MESSAGE (QueryByName, protocol::MessageRegistry,((query_list, keys))) | |
| WISP_PROTOCOL_MESSAGE (QueryByType, protocol::MessageRegistry,((query_list, keys))) | |
| WISP_ONE_WAY_CALL (RegistryCaller, Register) | |
| WISP_ONE_WAY_CALL (RegistryCaller, Reregister) | |
| WISP_ONE_WAY_CALL (RegistryCaller, Unregister) | |
| WISP_ONE_WAY_CALL (RegistryCaller, QueryResult) | |
| WISP_TWO_WAY_CALL (RegistryCaller, QueryByName, QueryResult) | |
| WISP_TWO_WAY_CALL (RegistryCaller, QueryByType, QueryResult) | |
| WISP_TWO_WAY_CALL (RegistryCaller, QueryAll, QueryResult) | |
| template<typename caller_type > | |
| string | get_service_by_type (caller_type &caller, string service_type) |
| Synchronously looks up a service by its service type. | |
| int | group_index (const NS_SSRC_SPREAD::GroupList &groups, const string &group) |
Detailed Description
The registry namespace contains classes implementing the service registry protocol.
Typedef Documentation
| typedef service_map::nth_index<ByComposite>::type registry::index_by_composite |
Definition at line 89 of file registry/protocol.h.
| typedef service_map::nth_index<ByName>::type registry::index_by_name |
Definition at line 87 of file registry/protocol.h.
| typedef service_map::nth_index<ByType>::type registry::index_by_type |
Definition at line 88 of file registry/protocol.h.
| typedef protocol::MessageRegistry<QueryAll> registry::MessageQueryAll |
Definition at line 109 of file registry/protocol.h.
| typedef std::vector<string> registry::query_list |
Definition at line 106 of file registry/protocol.h.
| typedef NS_SSRC_WISP_PROTOCOL::Caller<RegistryPackingTraits> registry::RegistryCaller |
Definition at line 130 of file registry/protocol.h.
| typedef BinaryPackingTraits registry::RegistryPackingTraits |
Definition at line 129 of file registry/protocol.h.
| typedef boost::multi_index_container< RegistryEntry, boost::multi_index::indexed_by< boost::multi_index::hashed_non_unique< boost::multi_index::member<RegistryEntry, string, &RegistryEntry::service_name> >, boost::multi_index::hashed_non_unique< boost::multi_index::member<RegistryEntry, string, &RegistryEntry::service_type> >, boost::multi_index::hashed_unique< boost::multi_index::composite_key< RegistryEntry, boost::multi_index::member<RegistryEntry, string, &RegistryEntry::service_name>, boost::multi_index::member<RegistryEntry, string, &RegistryEntry::service_type> > > > > registry::service_map |
Definition at line 84 of file registry/protocol.h.
| typedef std::vector<string> registry::service_type_list |
Definition at line 107 of file registry/protocol.h.
Enumeration Type Documentation
Definition at line 64 of file registry/protocol.h.
Definition at line 59 of file registry/protocol.h.
Function Documentation
| string registry::event_group_register | ( | ) | [inline] |
Definition at line 102 of file registry/protocol.h.
References WSPR_EVENT_GROUP.
| string registry::get_service_by_type | ( | caller_type & | caller, |
| string | service_type | ||
| ) |
Synchronously looks up a service by its service type.
- Parameters:
-
caller The Caller to use to perform the lookup. service_type A string identifying the service type to look up.
- Returns:
- The private group name of the first service found matching the specified type. If no service is found, returns an empty string.
Definition at line 152 of file registry/protocol.h.
References service_group_registry().
| int registry::group_index | ( | const NS_SSRC_SPREAD::GroupList & | groups, |
| const string & | group | ||
| ) |
Definition at line 26 of file registry/service.cc.
| string registry::service_group_registry | ( | ) | [inline] |
Returns a string identifying the group to which all Registry instances belong.
This is the group where clients should direct their queries.
- Returns:
- A string identifying the group to which all Registry instances belong.
Definition at line 98 of file registry/protocol.h.
References protocol::service_type_registry().
Referenced by get_service_by_type(), and service::ServiceProtocolProcessor::transition().
| registry::WISP_ONE_WAY_CALL | ( | RegistryCaller | , |
| Register | |||
| ) |
| registry::WISP_ONE_WAY_CALL | ( | RegistryCaller | , |
| Reregister | |||
| ) |
| registry::WISP_ONE_WAY_CALL | ( | RegistryCaller | , |
| Unregister | |||
| ) |
| registry::WISP_ONE_WAY_CALL | ( | RegistryCaller | , |
| QueryResult | |||
| ) |
| registry::WISP_PROTOCOL_MESSAGE | ( | Register | , |
| protocol::MessageRegistry | , | ||
| ((string, service_name))((service_type_list, service_types)) | |||
| ) |
| registry::WISP_PROTOCOL_MESSAGE | ( | Reregister | , |
| protocol::MessageRegistry | , | ||
| ((string, service_name))((service_type_list, service_types)) | |||
| ) |
| registry::WISP_PROTOCOL_MESSAGE | ( | Unregister | , |
| protocol::MessageRegistry | , | ||
| ((string, service_name))((service_type_list, service_types)) | |||
| ) |
| registry::WISP_PROTOCOL_MESSAGE | ( | QueryResult | , |
| protocol::MessageRegistry | , | ||
| ((service_map, result)) | |||
| ) |
| registry::WISP_PROTOCOL_MESSAGE | ( | QueryByName | , |
| protocol::MessageRegistry | , | ||
| ((query_list, keys)) | |||
| ) |
| registry::WISP_PROTOCOL_MESSAGE | ( | QueryByType | , |
| protocol::MessageRegistry | , | ||
| ((query_list, keys)) | |||
| ) |
| registry::WISP_TWO_WAY_CALL | ( | RegistryCaller | , |
| QueryByName | , | ||
| QueryResult | |||
| ) |
| registry::WISP_TWO_WAY_CALL | ( | RegistryCaller | , |
| QueryByType | , | ||
| QueryResult | |||
| ) |
| registry::WISP_TWO_WAY_CALL | ( | RegistryCaller | , |
| QueryAll | , | ||
| QueryResult | |||
| ) |