Class DHTRouterWrapper

  • All Implemented Interfaces:
    DHTRouter

    public class DHTRouterWrapper
    extends java.lang.Object
    implements DHTRouter
    • Field Detail

    • Constructor Detail

      • DHTRouterWrapper

        public DHTRouterWrapper​(DHTRouter _delegate)
    • Method Detail

      • getDelegate

        protected DHTRouter getDelegate()
      • getK

        public int getK()
        Specified by:
        getK in interface DHTRouter
      • getID

        public byte[] getID()
        Specified by:
        getID in interface DHTRouter
      • isID

        public boolean isID​(byte[] node_id)
        Specified by:
        isID in interface DHTRouter
      • seed

        public void seed()
        Description copied from interface: DHTRouter
        Tells the router to perform its "start of day" functions required to integrate it into the DHT (search for itself, refresh buckets)
        Specified by:
        seed in interface DHTRouter
      • contactKnown

        public void contactKnown​(byte[] node_id,
                                 DHTRouterContactAttachment attachment,
                                 boolean force)
        Description copied from interface: DHTRouter
        Adds a contact to the router. The contact is not known to be alive (e.g. we've been returned the contact by someone but we've not either got a reply from it, nor has it invoked us.
        Specified by:
        contactKnown in interface DHTRouter
      • contactDead

        public DHTRouterContact contactDead​(byte[] node_id,
                                            boolean force)
        Description copied from interface: DHTRouter
        Informs the router that an attempt to interact with the contact failed
        Specified by:
        contactDead in interface DHTRouter
        Returns:
      • findClosestContacts

        public java.util.List<DHTRouterContact> findClosestContacts​(byte[] node_id,
                                                                    int num_to_return,
                                                                    boolean live_only)
        Description copied from interface: DHTRouter
        Returns num_to_return or a few more closest contacts, unordered
        Specified by:
        findClosestContacts in interface DHTRouter
      • recordLookup

        public void recordLookup​(byte[] node_id)
        Specified by:
        recordLookup in interface DHTRouter
      • requestPing

        public boolean requestPing​(byte[] node_id)
        Specified by:
        requestPing in interface DHTRouter
      • findBestContacts

        public java.util.List<DHTRouterContact> findBestContacts​(int max)
        Description copied from interface: DHTRouter
        returns a list of best contacts in terms of uptime, best first
        Specified by:
        findBestContacts in interface DHTRouter
        Returns:
      • setSleeping

        public void setSleeping​(boolean sleeping)
        Specified by:
        setSleeping in interface DHTRouter
      • setSuspended

        public void setSuspended​(boolean susp)
        Specified by:
        setSuspended in interface DHTRouter
      • destroy

        public void destroy()
        Specified by:
        destroy in interface DHTRouter
      • print

        public void print()
        Specified by:
        print in interface DHTRouter
      • addObserver

        public boolean addObserver​(DHTRouterObserver rto)
        Description copied from interface: DHTRouter
        Adds a routing table observer if it is not already observing.
        Specified by:
        addObserver in interface DHTRouter
        Parameters:
        rto - the observer to add
        Returns:
        true if now observing, false otherwise
      • containsObserver

        public boolean containsObserver​(DHTRouterObserver rto)
        Description copied from interface: DHTRouter
        Returns whether the given observer is already observing.
        Specified by:
        containsObserver in interface DHTRouter
        Parameters:
        rto - the observer to query as observing
        Returns:
        true if observing, false otherwise
      • removeObserver

        public boolean removeObserver​(DHTRouterObserver rto)
        Description copied from interface: DHTRouter
        Removes the observer if it is already observing.
        Specified by:
        removeObserver in interface DHTRouter
        Parameters:
        rto - the observer to remove
        Returns:
        true if no longer observing, false otherwise