package com.aelitis.azureus.core.dht.router;
import com.aelitis.azureus.core.dht.router.DHTRouterContact;
/**
* Observer interface to allow monitoring of contacts in the routing table.
*
* @author Michael Parker
*/
public interface DHTRouterObserver {
/**
* Observer method invoked when a contact is added to the routing table.
*
* @param contact
* the added contact
*/
public void added(DHTRouterContact contact);
/**
* Observer method invoked when a contact is removed from the routing table.
*
* @param contact
* the removed contact
*/
public void removed(DHTRouterContact contact);
/**
* Observer method invoked when a contact changes between a bucket entry and a
* replacement in the routing table.
*
* @param contact
* the contact that changed location
*/
public void locationChanged(DHTRouterContact contact);
/**
* Observer method invoked when a contact is found to be alive.
*
* @param contact
* the contact now alive
*/
public void nowAlive(DHTRouterContact contact);
/**
* Observer method invoked when a contact is found to be failing.
*
* @param contact
* the contact now failing
*/
public void nowFailing(DHTRouterContact contact);
/**
* Router is not longer in use
* @param router
*/
public void
destroyed(
DHTRouter router );
}
|