|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object CTL.Group
public class Group
Process group (currently, only groups with 2 members are supported)
Field Summary | |
---|---|
private Env |
env
Environment of this group member |
protected GroupInfo[] |
grp
Array of GroupInfos for all members |
private int |
members
Number of hosts in this group |
private int |
myID
Logical ID of the process running on localhost |
private long |
objID
ObjectID |
private boolean |
terminated
Whether the group is terminated |
Constructor Summary | |
---|---|
Group(Env myEnv)
Empty constructor |
|
Group(java.lang.String[] args)
|
|
Group(java.lang.String host,
int port,
int myID,
int members,
int link,
Env myEnv)
|
|
Group(java.lang.String host,
int port,
int myID,
int members,
int link,
int myPort,
Env myEnv)
|
Method Summary | |
---|---|
GroupInfo |
groupInfo(int id)
Retrieve group information of a certain member |
protected void |
HS_recv()
Receive a handshake |
protected void |
HS_send()
Send a handshake |
int |
members()
Retrieve number of group members |
int |
myID()
Retrieve local Logical ID |
GroupInfo |
myInfo()
Retrieve group information of the local member |
void |
printInfo()
Print information about the group |
void |
readVersion(Communicator comm)
Read version string |
protected void |
recv()
Spawns a connection handler as long as the group is active |
static void |
recvException(java.lang.String msg)
Receive an exception |
void |
recvTermination(PeerID pid,
java.lang.String msg)
Receive a termination request |
void |
run()
Start the communication thread |
boolean |
running()
Check if this group is active |
void |
terminate()
Terminate the group |
java.lang.String |
toString()
Retrieve a string representation of this object |
private void |
updateGroup(int myID,
int members)
Update group information |
void |
writeVersion(Communicator comm)
Write version string |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private int myID
private int members
private long objID
protected GroupInfo[] grp
private boolean terminated
private Env env
Constructor Detail |
---|
public Group(Env myEnv)
public Group(java.lang.String host, int port, int myID, int members, int link, int myPort, Env myEnv) throws java.io.IOException, CTLException
java.io.IOException
CTLException
public Group(java.lang.String host, int port, int myID, int members, int link, Env myEnv) throws java.io.IOException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException, CTLException
java.io.IOException
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.reflect.InvocationTargetException
CTLException
public Group(java.lang.String[] args) throws java.io.IOException, CTLException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.ClassNotFoundException, java.lang.InstantiationException
java.io.IOException
CTLException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.ClassNotFoundException
java.lang.InstantiationException
Method Detail |
---|
public void recvTermination(PeerID pid, java.lang.String msg)
pid
- PeerID of the terminating processmsg
- Reason for terminationpublic static void recvException(java.lang.String msg)
msg
- Reason for the exceptionprivate void updateGroup(int myID, int members)
myID
- Logical IDmembers
- Number of group memberspublic void printInfo()
public void readVersion(Communicator comm) throws java.io.IOException, CTLException
comm
- Communicator
java.io.IOException
CTLException
public void writeVersion(Communicator comm) throws java.io.IOException
comm
- Communicator
java.io.IOException
public void run()
run
in interface java.lang.Runnable
protected void recv()
protected void HS_recv() throws java.io.IOException, java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException, CTLException
java.io.IOException
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
CTLException
protected void HS_send() throws java.io.IOException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.ClassNotFoundException, java.lang.InstantiationException, CTLException
java.io.IOException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.ClassNotFoundException
java.lang.InstantiationException
CTLException
public boolean running()
public void terminate()
public int myID()
public int members()
public java.lang.String toString()
toString
in class java.lang.Object
public GroupInfo groupInfo(int id)
public GroupInfo myInfo()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |