org.cougaar.core.wp.resolver |
|
Java Source File Name | Type | Comment |
CacheManager.java | Class | This component is the white pages client-side cache. |
CacheService.java | Interface | This service is the
CacheManager 's interface for the
Resolver for cache lookups. |
ClientTransport.java | Class | This component sends and receives messages for the resolver. |
Lease.java | Class | A "successful lease" response from the
ClientTransport 's
ModifyService , indicating to the
LeaseManager that either a new
Record was successfully bound or an
existing
Lease was extended. |
LeaseDenied.java | Class | A "lease denied" response from the
ClientTransport 's
ModifyService , indicating to the
LeaseManager a failed bind or lease renewal.
The UID will match the UID of the Record that has been denied.
Currently this can only be caused by server-side deconfliction
over race conditions, primarily based upon agent incarnation
numbers.
For example, say AgentX moves from NodeA to NodeB.
The following binds may be in progress:
NodeA sends:
AgentX={..., version=version:///1234/5678, ...}
NodeB sends:
AgentX={..., version=version:///1234/9999, ...}
The format of the version entry URI is:
version:///incarnation/moveId
where the incarnation number is incremented per restart
(excluding moves) and the moveId is incremented per move
or restart (i.e. |
LeaseManager.java | Class | This component watches for bind/unbind requests and maintains
the leases in the server. |
LeaseNotKnown.java | Class | An "unknown lease uid" response from the
ClientTransport 's
ModifyService , indicating to the
LeaseManager that
an attempt to renew a lease failed because the server doesn't know
a lease with the specified UID.
If a client attempts to renew a Lease by passing the UID, and
the server doesn't know the UID, then this response is
returned to request the full Record of data.
This is used to cover two cases:
- The server expired the lease due to lack of renewal
(e.g.
|
LeaseService.java | Interface | This service is the
LeaseManager 's interface for the
Resolver for bind/unbind requests. |
LookupService.java | Interface | This service is the
ClientTransport 's interface to the
CacheManager for lookup messaging.
This API hides the MTS and messaging details. |
ModifyService.java | Interface | This service is the
ClientTransport 's interface for the
LeaseManager for sending bind/unbind messages.
This API hides the MTS and messaging details. |
NameTag.java | Class | A simple wrapper around an object that adds a String name.
This is used to tag a request (e.g. |
PingService.java | Interface | This service is advertised by the
ClientTransport for the
SelectManager to send "ping" messages to white pages servers.
This API hides the MTS and messaging details. |
Record.java | Class | A data response from a successful
LookupService lookup,
or a request parameter to a
ModifyService lease renewal.
The UID is specific to this view of the data. |
RecordIsValid.java | Class | A data response from a successful
ClientTransport
LookupService lookup to the
CacheManager , which
validates the client's cached
Record and extends the TTL
for the cached data.
This is only used if the client passed a non-null UID in the
lookup.
The client sent the UID of the Record, and this "RecordIsValid"
confirms that the Record with that UID hasn't changed and
permits the client to cache the Record for a little longer.
It's possible for a client to evict the entry before the
"record is valid" is received, e.g. |
Resolver.java | Class | This component is the front-end for the client-side white pages
resolver, which advertises the
WhitePagesService . |
ResolverClient.java | Interface | Optional client interface used by the
ResolverProxy . |
ResolverContainer.java | Class | This component is an empty
org.cougaar.core.component.Container for the white pages
Resolver components. |
ResolverProxy.java | Class | This component an optional proxy to the
WhitePagesService resolver that obtains the local agent's name and tags all requests
with that name.
This should be loaded into all agents. |
SelectManager.java | Class | This component advertises the
SelectService , which controls the
ClientTransport 's server selection and uses the
BootstrapService to initialize the cache.
This implementation uses the
BootstrapService to discover
servers and the
PingService to send ping messages to the
found servers, measuring the round-trip-time (RTT). |
SelectService.java | Interface | This service is the "server selection service" advertised by
the
SelectManager that the
ClientTransport uses
to select a white pages server.
The primary job of this service is to locate servers and select
the best one. |
ServiceFinder.java | Class | A utility class to hide late-binding
Service lookups. |
ServiceProviderBase.java | Class | A base class for a ServiceProvider with registered clients. |
TransportBase.java | Class | This component is a base class that handles
MessageSwitchService details for the
ClientTransport .
This is nearly generic; with a bit more work it could be a
useful generic base class. |
Util.java | Class | Utility methods for batching requests. |
WPAnswer.java | Class | A message from a white pages server to a client, or between
servers. |
WPQuery.java | Class | A message from a white pages cache to a server, or between
servers. |