Class RspList

  • All Implemented Interfaces:
    java.util.Map<Address,​Rsp>

    public class RspList
    extends java.lang.Object
    implements java.util.Map<Address,​Rsp>
    Contains responses from all members. Marks faulty members. A RspList is a response list used in peer-to-peer protocols. This class is unsynchronized
    • Constructor Detail

      • RspList

        public RspList()
      • RspList

        public RspList​(java.util.Collection<Rsp> responses)
        Adds a list of responses
        Parameters:
        responses - Collection
    • Method Detail

      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Map<Address,​Rsp>
      • containsKey

        public boolean containsKey​(java.lang.Object key)
        Specified by:
        containsKey in interface java.util.Map<Address,​Rsp>
      • containsValue

        public boolean containsValue​(java.lang.Object value)
        Specified by:
        containsValue in interface java.util.Map<Address,​Rsp>
      • get

        public Rsp get​(java.lang.Object key)
        Returns the Rsp associated with address key
        Specified by:
        get in interface java.util.Map<Address,​Rsp>
        Parameters:
        key - Address (key)
        Returns:
        Rsp
      • getValue

        public java.lang.Object getValue​(java.lang.Object key)
        Returns the value associated with address key
        Parameters:
        key -
        Returns:
        Object value
      • remove

        public Rsp remove​(java.lang.Object key)
        Specified by:
        remove in interface java.util.Map<Address,​Rsp>
      • putAll

        public void putAll​(java.util.Map<? extends Address,​? extends Rsp> m)
        Specified by:
        putAll in interface java.util.Map<Address,​Rsp>
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Map<Address,​Rsp>
      • keySet

        public java.util.Set<Address> keySet()
        Specified by:
        keySet in interface java.util.Map<Address,​Rsp>
      • values

        public java.util.Collection<Rsp> values()
        Specified by:
        values in interface java.util.Map<Address,​Rsp>
      • entrySet

        public java.util.Set<java.util.Map.Entry<Address,​Rsp>> entrySet()
        Specified by:
        entrySet in interface java.util.Map<Address,​Rsp>
      • reset

        public void reset()
        Deprecated.
        Use clear() instead
        Clears the response list
      • addRsp

        public void addRsp​(Address sender,
                           java.lang.Object retval)
      • addNotReceived

        public void addNotReceived​(Address sender)
      • addSuspect

        public void addSuspect​(Address sender)
      • isReceived

        public boolean isReceived​(Address sender)
      • numSuspectedMembers

        public int numSuspectedMembers()
      • numReceived

        public int numReceived()
      • getFirst

        public java.lang.Object getFirst()
        Returns the first value in the response set. This is random, but we try to return a non-null value first
      • getResults

        public java.util.Vector<java.lang.Object> getResults()
        Returns the results from non-suspected members that are not null.
      • getSuspectedMembers

        public java.util.Vector<Address> getSuspectedMembers()
      • isSuspected

        public boolean isSuspected​(Address sender)
      • size

        public int size()
        Specified by:
        size in interface java.util.Map<Address,​Rsp>
      • elementAt

        public java.lang.Object elementAt​(int i)
                                   throws java.lang.ArrayIndexOutOfBoundsException
        Deprecated.
        Use entrySet() or values() instead
        Returns the Rsp at index i
        Parameters:
        i - The index
        Returns:
        a Rsp
        Throws:
        java.lang.ArrayIndexOutOfBoundsException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object