Package jadex.platform.service.address
Class TransportAddressAgent
- java.lang.Object
- 
- jadex.platform.service.address.TransportAddressAgent
 
- 
- All Implemented Interfaces:
- ITransportAddressService
 
 public class TransportAddressAgent extends java.lang.Object implements ITransportAddressService Agent that provides transport address resolution (platform id -> transport addresses).
- 
- 
Field SummaryFields Modifier and Type Field Description protected java.util.Map<IComponentIdentifier,java.util.LinkedHashSet<TransportAddress>>addressesThe managed addresses: target platform -> (transport name -> transport addresses)protected java.util.LinkedHashSet<SubscriptionIntermediateFuture<Tuple2<TransportAddress,java.lang.Boolean>>>addresssubsSubscription of local address changes.protected IInternalAccessagentComponent access.protected static intASK_ALL_LIMITMaximum number of peers to ask for addresses.protected booleanaskalllookupprotected booleanawalookupprotected static longCACHE_INVALIDITY_DURFreshness limit for previously failed renewed searches.protected static longCACHE_VALIDITY_DURFreshness limit for renewed searches.protected booleandirectlookupprotected java.util.Map<IComponentIdentifier,java.lang.Long>freshnessFreshness state of the cache.protected java.util.LinkedHashSet<TransportAddress>localaddressesThe local addresses.protected java.util.Map<IComponentIdentifier,java.util.LinkedHashSet<TransportAddress>>manualaddressesThe managed addresses: target platform -> (transport name -> transport addresses)protected booleanpawalookupprotected java.util.Map<IComponentIdentifier,IFuture<java.util.List<TransportAddress>>>searchesCurrent active searches.protected booleansuperpeerlookup
 - 
Constructor SummaryConstructors Constructor Description TransportAddressAgent()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddAddresses(java.util.Collection<TransportAddress> addrs)Adds addresses to cache.protected voidaddAddresses(java.util.Collection<TransportAddress> addrs, java.util.Map<IComponentIdentifier,java.util.LinkedHashSet<TransportAddress>> addressmap)Adds addresses to a map.IFuture<java.lang.Void>addLocalAddresses(java.util.Collection<TransportAddress> addresses)Adds the addresses of the local platform.IFuture<java.lang.Void>addManualAddresses(java.util.Collection<TransportAddress> addresses)Adds user-specified addresses.protected voidaddToManualAddressesList(java.util.Collection<TransportAddress> addrs)Adds addresses to manual address list.protected java.util.List<TransportAddress>filterAddresses(java.util.List<TransportAddress> addresses, java.lang.String transporttype)Filters addresses for transport types.IFuture<java.util.List<TransportAddress>>getAddresses()Gets the addresses of the local platform.IFuture<java.util.List<TransportAddress>>getAddresses(IComponentIdentifier platformid)Gets the addresses of another platform known to the local platform.IFuture<java.util.List<TransportAddress>>getAddresses(IComponentIdentifier platformid, java.lang.String transporttype)Gets the addresses of another platform known to the local platform.IFuture<java.util.List<TransportAddress>>getAddresses(java.lang.String transporttype)Gets the addresses of the local platform.protected java.util.List<TransportAddress>getAddressesFromCache(IComponentIdentifier platformid)Gets platform addresses from local cache.protected booleanhasSuperPeer()Checks if a super peer is available.IFuture<java.lang.Void>init()Initializes the service.IFuture<java.util.List<TransportAddress>>resolveAddresses(IComponentIdentifier platformid, java.lang.String transporttype)Recursively looks up the addresses of a platform for a specific transport type.protected java.util.List<TransportAddress>searchAddressesByAskAll(IComponentIdentifier platformid)Randomly ask other platforms for addresses (search of last resort).protected java.util.List<TransportAddress>searchAddressesByAskAwareness(IComponentIdentifier platformid)Searches for addresses using super peer.protected java.util.List<TransportAddress>searchAddressesByAskRemote(IComponentIdentifier platformid)Searches for addresses directly asking remote platform.protected java.util.List<TransportAddress>searchAddressesByAskSuperPeer(IComponentIdentifier platformid)Searches for addresses using super peer.ISubscriptionIntermediateFuture<Tuple2<TransportAddress,java.lang.Boolean>>subscribeToLocalAddresses()Subscribe to local address changes.protected voidupdateFromLocalAwareness(IComponentIdentifier platformid)Updates the cache using the local awareness cache.
 
- 
- 
- 
Field Detail- 
CACHE_VALIDITY_DURprotected static final long CACHE_VALIDITY_DUR Freshness limit for renewed searches.- See Also:
- Constant Field Values
 
 - 
CACHE_INVALIDITY_DURprotected static final long CACHE_INVALIDITY_DUR Freshness limit for previously failed renewed searches.- See Also:
- Constant Field Values
 
 - 
ASK_ALL_LIMITprotected static final int ASK_ALL_LIMIT Maximum number of peers to ask for addresses.- See Also:
- Constant Field Values
 
 - 
agentprotected IInternalAccess agent Component access.
 - 
localaddressesprotected java.util.LinkedHashSet<TransportAddress> localaddresses The local addresses.
 - 
searchesprotected java.util.Map<IComponentIdentifier,IFuture<java.util.List<TransportAddress>>> searches Current active searches.
 - 
freshnessprotected java.util.Map<IComponentIdentifier,java.lang.Long> freshness Freshness state of the cache.
 - 
addressesprotected java.util.Map<IComponentIdentifier,java.util.LinkedHashSet<TransportAddress>> addresses The managed addresses: target platform -> (transport name -> transport addresses)
 - 
manualaddressesprotected java.util.Map<IComponentIdentifier,java.util.LinkedHashSet<TransportAddress>> manualaddresses The managed addresses: target platform -> (transport name -> transport addresses)
 - 
addresssubsprotected java.util.LinkedHashSet<SubscriptionIntermediateFuture<Tuple2<TransportAddress,java.lang.Boolean>>> addresssubs Subscription of local address changes.
 - 
superpeerlookupprotected boolean superpeerlookup 
 - 
directlookupprotected boolean directlookup 
 - 
pawalookupprotected boolean pawalookup 
 - 
awalookupprotected boolean awalookup 
 - 
askalllookupprotected boolean askalllookup 
 
- 
 - 
Method Detail- 
initpublic IFuture<java.lang.Void> init() Initializes the service.
 - 
getAddressespublic IFuture<java.util.List<TransportAddress>> getAddresses() Gets the addresses of the local platform.- Specified by:
- getAddressesin interface- ITransportAddressService
- Returns:
- Addresses of the local platform.
 
 - 
getAddressespublic IFuture<java.util.List<TransportAddress>> getAddresses(java.lang.String transporttype) Gets the addresses of the local platform.- Specified by:
- getAddressesin interface- ITransportAddressService
- Parameters:
- transporttype- The transport type.
- Returns:
- Addresses of the local platform.
 
 - 
getAddressespublic IFuture<java.util.List<TransportAddress>> getAddresses(IComponentIdentifier platformid) Gets the addresses of another platform known to the local platform.- Specified by:
- getAddressesin interface- ITransportAddressService
- Parameters:
- platformid- ID of the platform.
- Returns:
- Addresses of the platform, if known.
 
 - 
getAddressespublic IFuture<java.util.List<TransportAddress>> getAddresses(IComponentIdentifier platformid, java.lang.String transporttype) Gets the addresses of another platform known to the local platform.- Specified by:
- getAddressesin interface- ITransportAddressService
- Parameters:
- platformid- ID of the platform.
- transporttype- The transport type.
- Returns:
- Addresses of the platform, if known.
 
 - 
resolveAddressespublic IFuture<java.util.List<TransportAddress>> resolveAddresses(IComponentIdentifier platformid, java.lang.String transporttype) Recursively looks up the addresses of a platform for a specific transport type.- Specified by:
- resolveAddressesin interface- ITransportAddressService
- Parameters:
- platformid- ID of the platform.
- transporttype- The transport type.
- Returns:
- Addresses of the local platform.
 
 - 
addLocalAddressespublic IFuture<java.lang.Void> addLocalAddresses(java.util.Collection<TransportAddress> addresses) Adds the addresses of the local platform.- Specified by:
- addLocalAddressesin interface- ITransportAddressService
- Parameters:
- addresses- Local platform addresses.
- Returns:
- Null, when done.
 
 - 
addManualAddressespublic IFuture<java.lang.Void> addManualAddresses(java.util.Collection<TransportAddress> addresses) Adds user-specified addresses. Warning: Only use this to add manually specified addresses.- Specified by:
- addManualAddressesin interface- ITransportAddressService
- Parameters:
- addresses- Platform addresses.
- Returns:
- Null, when done.
 
 - 
subscribeToLocalAddressespublic ISubscriptionIntermediateFuture<Tuple2<TransportAddress,java.lang.Boolean>> subscribeToLocalAddresses() Subscribe to local address changes.- Specified by:
- subscribeToLocalAddressesin interface- ITransportAddressService
- Returns:
- Address and true if removed.
 
 - 
hasSuperPeerprotected boolean hasSuperPeer() Checks if a super peer is available.- Returns:
- True, if super peer is available.
 
 - 
updateFromLocalAwarenessprotected void updateFromLocalAwareness(IComponentIdentifier platformid) Updates the cache using the local awareness cache.- Parameters:
- platformid- The platform ID.
 
 - 
searchAddressesByAskSuperPeerprotected java.util.List<TransportAddress> searchAddressesByAskSuperPeer(IComponentIdentifier platformid) Searches for addresses using super peer.- Parameters:
- platformid- The platform ID.
- Returns:
- The addresses.
 
 - 
searchAddressesByAskRemoteprotected java.util.List<TransportAddress> searchAddressesByAskRemote(IComponentIdentifier platformid) Searches for addresses directly asking remote platform.- Parameters:
- platformid- The platform ID.
- Returns:
- The addresses.
 
 - 
searchAddressesByAskAwarenessprotected java.util.List<TransportAddress> searchAddressesByAskAwareness(IComponentIdentifier platformid) Searches for addresses using super peer.- Parameters:
- platformid- The platform ID.
- Returns:
- The addresses.
 
 - 
searchAddressesByAskAllprotected java.util.List<TransportAddress> searchAddressesByAskAll(IComponentIdentifier platformid) Randomly ask other platforms for addresses (search of last resort).- Parameters:
- platformid- The platform ID.
- Returns:
- The addresses.
 
 - 
getAddressesFromCacheprotected java.util.List<TransportAddress> getAddressesFromCache(IComponentIdentifier platformid) Gets platform addresses from local cache.- Parameters:
- platformid- Platform ID.
- Returns:
- Addresses.
 
 - 
addAddressesprotected void addAddresses(java.util.Collection<TransportAddress> addrs) Adds addresses to cache.- Parameters:
- addrs- The addresses.
 
 - 
addToManualAddressesListprotected void addToManualAddressesList(java.util.Collection<TransportAddress> addrs) Adds addresses to manual address list.- Parameters:
- addrs- The addresses.
 
 - 
addAddressesprotected void addAddresses(java.util.Collection<TransportAddress> addrs, java.util.Map<IComponentIdentifier,java.util.LinkedHashSet<TransportAddress>> addressmap) Adds addresses to a map.- Parameters:
- addrs- The addresses.
- addressmap- The map of address that is the target of the operation.
 
 - 
filterAddressesprotected java.util.List<TransportAddress> filterAddresses(java.util.List<TransportAddress> addresses, java.lang.String transporttype) Filters addresses for transport types.- Parameters:
- addresses- The addresses to filter.
- transporttype- The transport type.
- Returns:
- Filtered list or null of none match.
 
 
- 
 
-