Inherits Object, and AddressProvider.
List of all members.
<socket-address> <address>...</address> <port>...</port> </socket-address>The order of items in the configured list will be randomized to provide basic load balancing. This implementation is not thread safe.
|ConfigurableAddressProvider Handle definition. |
|ConfigurableAddressProvider View definition. |
|ConfigurableAddressProvider Holder definition. |
Public Member Functions
|Obtain a next available address to use.|
If the caller can successfully use the returned address (e.g. a connection was established), it should call the AddressProvider's accept()
|virtual void||accept ()|
|This method should be called by the client immediately after it determines that it can successfully use an address returned by the getNextAddress method. |
|virtual void||reject (Exception::Holder oheCause)|
|This method should be called by the client immediately after it determines that an attempt to use an address returned by the getNextAddress method has failed.|
|virtual void||toStream (std::ostream &out) const|
|Output a human-readable description of this Object to the given stream.|
coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toStream method, to output Objects. If a managed String object is desired, the COH_TO_STRING macro can be used to build up a String from streamable contents.
Object::View vKey = ... Object::View vValue = ... std::cout << vKey << " = " << vValue << std::endl; String::Handle hs = COH_TO_STRING(vKey << " = " << vValue);
Static Public Attributes
|static const size32_t||npos|
|The largest possible value of type size32_t. |
Protected Member Functions
|Create a new ConfigurableAddressProvider instance. |
|ConfigurableAddressProvider (XmlElement::View vXml, bool fSafe=true)|
|Construct an instance of ConfigurableAddressProvider based on the specified XML element. |
|virtual void||configure (XmlElement::View vXml)|
|Configure this ConfigurableAddressProvider based on the specified XML. |
|virtual void||reset ()|
|Make all addresses iterable, starting at the first address. |
|virtual void||reset (size32_t iLast)|
|Make all addresses iterable, starting at the index after the specified one. |
|virtual List::Handle||sortHolders (List::Handle hList)|
|Sort the holders in the order to be returned by the getNextAddress method. |
|FinalView< List >||f_vListHolders|
|A list of AddressHolder objects. |
|Index of the last returned address. |
|Specifies if the provider is only to return resolved addresses. |
|A stateful holder for an InetSocketAddress object. More...|
Construct an instance of ConfigurableAddressProvider based on the specified XML element.
|vXml||the XML element that contains the configuration info|
|fSafe||true if the provider is skips unresolved addresses|
|virtual void configure||(||XmlElement::View||vXml||)||
Configure this ConfigurableAddressProvider based on the specified XML.
|xmlConfig||the XML element that contains the configuration info|
|virtual void reset||(||size32_t||iLast||)||
Make all addresses iterable, starting at the index after the specified one.
|iLast||the index of the last address returned|
Sort the holders in the order to be returned by the getNextAddress method.
This implementation randomizes the holder lists for simple load balancing.
|list||the original list retrieved from the configuration|