Peer locator v1.0

com.unet.warmachine.peerlocator
Class Member

java.lang.Object
  |
  +--com.unet.warmachine.peerlocator.Member

public class Member
extends java.lang.Object

This data object represents a known agent and data about them. It can be the local agent. It forms a composition within MembershipList and instances should only created by its owning membership list. The age of known data about a member is determined by the modification time and data should be updated if newer data is discovered.

A member name is supposed to be unique within a group but foreign membership lists can become unsynchronised and several agents have the same name. If an agent detects such a name clash, the member with the oldest creation time is correct and the newer agents must be rejected.

As client code is responsible for persistency of data, instances are created indirectly by client code, then passed to the agent at startup. Once passed to the agent, data is updated by the agent but can be interrogated by client code.


Method Summary
 java.util.Date getCreationTime()
          Returns date and time member was created.
 java.net.InetAddress getEndSearchIP()
          Returns highest, searchable IP address when locating members using dynamically allocated IP.
 java.lang.String getGroupName()
          Returns member group name.
 java.net.InetAddress getIPAddress()
          Returns last known IP address of member.
 java.util.Date getLastMessageTime()
          Returns date and time of last message received from member.
 java.util.Date getModificationTime()
          Returns date and time address and search details were changed.
 java.lang.String getName()
          Returns member name.
 int getPortNo()
          Returns TCP port no of member.
 java.net.InetAddress getStartSearchIP()
          Returns lowest, searchable IP address when locating members using dynamically allocated IP.
 java.lang.String getStatus()
          Returns status value of member.
 boolean isOnline()
          Indicates if member has been located.
 boolean isStaticIP()
          Whether member uses statically allocated IP address.
 void setEndSearchIP(java.net.InetAddress value)
          Sets highest, searchable IP address when locating members using dynamically allocated IP.
 void setSearchLevel(int octet, int deviation)
          Sets range of IP addresses that can be searched as deviation from current, known address.
 void setStartSearchIP(java.net.InetAddress value)
          Sets lowest, searchable IP address when locating members using dynamically allocated IP.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getName

public java.lang.String getName()
Returns member name.
Returns:
Member name.

getGroupName

public java.lang.String getGroupName()
Returns member group name.
Returns:
Member group name.

getIPAddress

public java.net.InetAddress getIPAddress()
Returns last known IP address of member.
Returns:
Last known IP address of member.

getPortNo

public int getPortNo()
Returns TCP port no of member.
Returns:
TCP port no of member.

isStaticIP

public boolean isStaticIP()
Whether member uses statically allocated IP address.
Returns:
true if member uses statically allocated IP address, false for dynamically allocated IP address.

getStatus

public java.lang.String getStatus()
Returns status value of member. This only has meaning to client code.
Returns:
Status value of member.

getStartSearchIP

public java.net.InetAddress getStartSearchIP()
Returns lowest, searchable IP address when locating members using dynamically allocated IP.
Returns:
Lowest, search IP address.

getEndSearchIP

public java.net.InetAddress getEndSearchIP()
Returns highest, searchable IP address when locating members using dynamically allocated IP.
Returns:
Highest, search IP address.

getCreationTime

public java.util.Date getCreationTime()
Returns date and time member was created.
Returns:
Date and time member was created.

getModificationTime

public java.util.Date getModificationTime()
Returns date and time address and search details were changed.
Returns:
Date and time address and search details were changed.

getLastMessageTime

public java.util.Date getLastMessageTime()
Returns date and time of last message received from member.
Returns:
Date and time of last message received from member.

isOnline

public boolean isOnline()
Indicates if member has been located.
Returns:
True if member has been located.

setStartSearchIP

public void setStartSearchIP(java.net.InetAddress value)
Sets lowest, searchable IP address when locating members using dynamically allocated IP.
Parameters:
value - Lowest, searchable IP address.

setEndSearchIP

public void setEndSearchIP(java.net.InetAddress value)
Sets highest, searchable IP address when locating members using dynamically allocated IP.
Parameters:
value - Lowest, searchable IP address.

setSearchLevel

public void setSearchLevel(int octet,
                           int deviation)
                    throws java.lang.IllegalArgumentException
Sets range of IP addresses that can be searched as deviation from current, known address. The lowest IP address is the current address with the deviation subtracted from the specified octet and subsequent octets set to 1. Similarly, the highest IP address is the current address with the deviation added to the specified octet and subsequent octets set to 255. For example, octet 3 and deviation 5 applied to the address 192.168.20.24 results 192.168.15.1 and 192.168.25.255.
Parameters:
octet - Octet of IP address to deviate, range 1 to 4.
deviation - Deviation of octet, range 0 to 254.
Throws:
java.lang.IllegalArgumentException - A parameter is outside allowed range.

Peer locator v1.0