#include <coherence/net/SingleAddressProvider.hpp>
Inherits Object, and AddressProvider.
Public Types | ||||
typedef spec::Handle | Handle | |||
SingleAddressProvider Handle definition. | ||||
typedef spec::View | View | |||
SingleAddressProvider View definition. | ||||
typedef spec::Holder | Holder | |||
SingleAddressProvider Holder definition. | ||||
Public Member Functions | ||||
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 InetSocketAddress::View | getNextAddress () | |||
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 | 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 TypedHandle < const String > | toString () const | |||
Output a human-readable description of this Object to the given stream. Note that when overriding this method the return type must be TypedHandle<const String> rather then String::View. These two types are assignment compatible but not equivalent and declaring the override with String::View will not be a compatible override. coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toString 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 and is generally how toString() will be implemented.
Object::View vKey = ... Object::View vValue = ... std::cout << vKey << " = " << vValue << std::endl; String::View vs = COH_TO_STRING(vKey << " = " << vValue); The COH_TO_STRING macro is also the most common way to implement the toString method. For example:
virtual TypedHandle<const String> Person::toString() const { return COH_TO_STRING("Name: " << f_sName << " SSN: " << f_nSSN); }
| ||||
Protected Member Functions | ||||
SingleAddressProvider (InetSocketAddress::View address) | ||||
Set the InetSocketAddress for this AddressProvider. | ||||
Protected Attributes | ||||
MemberView < InetSocketAddress > | m_vAddress | |||
The InetSocketAddress returned by this AddressProvider. | ||||
bool | m_fAddressGiven | |||
Whether the InetSocketAddress has already been returned. |
SingleAddressProvider | ( | InetSocketAddress::View | address | ) | [protected] |
Set the InetSocketAddress for this AddressProvider.
address | the address which will be returned by this InetSocketAddress |