All Packages Class Hierarchy This Package Previous Next Index
Class w3c.www.protocol.http.icp.ICPFilter
java.lang.Object
|
+----w3c.www.protocol.http.icp.ICPFilter
- public class ICPFilter
- extends Object
- implements PropRequestFilter, PropertyMonitoring
-
CONFIG_P
- Properties - Our configuration file.
-
debug
- Our we in debug mode ?
-
DEBUG_P
- Properties - Our debug flag.
-
DISABLE_CACHE_P
- Properties - disable caching when fetching from a neighbour proxy.
-
disableCache
- Should we disablecaching when fetching through a proxy ?
-
friends
- Our senders, indexed by InetAddress.
-
icp
- Our ICP engine.
-
PORT_P
- Properties - Our own UDP port number.
-
props
- The properties we are initialized from.
-
TIMEOUT_P
- Properties - Our default timeout value.
-
timeoutValue
- Our default timeout value for waiting for replies (in ms).
-
ICPFilter()
-
-
createICPSender(String, int, String)
-
-
exceptionFilter(Request, HttpException)
- This filter doesn't handle exceptions.
-
getSender(InetAddress, int)
- Get the sender object for the given InetAddress instance.
-
getSocket()
-
-
ingoingFilter(Request)
- Our ingoingFilter method.
-
initialize(HttpManager)
- Initialize the ICP filter.
-
locateProxy(ICPReply)
- Locate the HTTP service of the proxy that has emitted that reply.
-
outgoingFilter(Request, Reply)
- Our outgoingFilter does nothing (at all).
-
parseConfiguration()
- Parse the configuration file.
-
propertyChanged(String)
-
-
runQuery(ICPQuery)
- Run the ICP query, and return the proxy we should go to.
-
sendQuery(ICPQuery)
- Send the given query to all our neighbors.
-
sync()
- This filter doesn't maintain dynamic state.
DEBUG_P
public static final String DEBUG_P
- Properties - Our debug flag.
CONFIG_P
public static final String CONFIG_P
- Properties - Our configuration file.
PORT_P
public static final String PORT_P
- Properties - Our own UDP port number.
TIMEOUT_P
public static final String TIMEOUT_P
- Properties - Our default timeout value.
DISABLE_CACHE_P
public static final String DISABLE_CACHE_P
- Properties - disable caching when fetching from a neighbour proxy.
props
protected ObservableProperties props
- The properties we are initialized from.
icp
protected ICPReceiver icp
- Our ICP engine.
friends
protected Hashtable friends
- Our senders, indexed by InetAddress.
timeoutValue
protected long timeoutValue
- Our default timeout value for waiting for replies (in ms).
debug
protected boolean debug
- Our we in debug mode ?
disableCache
protected boolean disableCache
- Should we disablecaching when fetching through a proxy ?
ICPFilter
public ICPFilter()
propertyChanged
public boolean propertyChanged(String name)
getSocket
protected DatagramSocket getSocket()
createICPSender
protected void createICPSender(String host,
int dstport,
String http) throws UnknownHostException, MalformedURLException, SocketException
parseConfiguration
protected void parseConfiguration()
- Parse the configuration file.
getSender
public ICPSender getSender(InetAddress addr,
int port)
- Get the sender object for the given InetAddress instance.
- Parameters:
- addr - The InetAddress of the sender.
- Returns:
- An ICPSender instance, if available, null
otherwise.
locateProxy
protected URL locateProxy(ICPReply reply)
- Locate the HTTP service of the proxy that has emitted that reply.
- Parameters:
- reply - The reply emitted by the host that alos host the HTTP
service we are looking for.
- Returns:
- The URL of the proxy, or null if no matching
proxy was found.
sendQuery
protected int sendQuery(ICPQuery query)
- Send the given query to all our neighbors.
- Returns:
- The number of times we emitted the query.
runQuery
protected URL runQuery(ICPQuery query)
- Run the ICP query, and return the proxy we should go to.
- Parameters:
- url - The URL we are looking for.
- Returns:
- The URL of the proxy we should go to for that URL, or
null if none was found.
exceptionFilter
public boolean exceptionFilter(Request request,
HttpException ex)
- This filter doesn't handle exceptions.
- Parameters:
- request - The request that triggered the exception.
- ex - The triggered exception.
- Returns:
- Always false.
ingoingFilter
public Reply ingoingFilter(Request request)
- Our ingoingFilter method.
This method emits (only for GET requestst currently) an ICP query
to all our neighbors, and wait for either one of them to
reply with a hit, or, our timeout value to expire.
If a hit reply is received, we then use the corresponding proxy
to fullfill the request.
- Parameters:
- request - The request that is about to be emitted.
- Returns:
- Always null.
outgoingFilter
public Reply outgoingFilter(Request request,
Reply reply)
- Our outgoingFilter does nothing (at all).
- Parameters:
- request - The request that has been processed.
- reply - The original reply (from origin server)
- Returns:
- Always null.
sync
public void sync()
- This filter doesn't maintain dynamic state.
initialize
public void initialize(HttpManager manager) throws PropRequestFilterException
- Initialize the ICP filter.
This is where we parse the configuration file in order to know
about our neighbors. We then register ourself to the HTTP manager.
- Parameters:
- manager - The HTTP manager.
- Throws: FilterInitException
- If the filter cannot launch its server
part (listening for incomming ICP requests)
All Packages Class Hierarchy This Package Previous Next Index