Parallel Programming WS 2014/2015 - File Message.java
public class Message
{
public static final int DUMMY = 0; // marks a dummy message (PPJ-74)
public static final int PROBE = 1; // marks a probe message (PPJ-74)
public static final int ECHO = 2; // marks an echo message (PPJ-74)
private int kind; // discriminates different kinds of messages
private Node sender; // the sending node
private int value; // value passed in the message
// construct a message
private Message (Node sender, int kind, int value)
{
this.sender = sender;
this.kind = kind;
this.value = value;
}
// factory methods for building specific kinds of messages
public static Message createDummy (Node sender)
{ return new Message(sender, DUMMY, 0); }
public static Message createProbe (Node sender)
{ return new Message(sender, PROBE, 0); }
public static Message createEcho (Node sender, int value)
{ return new Message(sender, ECHO, value); }
// retrieve the kind of this message (DUMMY, PROBE or ECHO)
public int getKind ()
{ return kind; }
// retrieve the sending node
public Node getSender ()
{ return sender; }
// retrieve the value passed in this message
// only valid for messages of kind ECHO
public int getValue ()
{
if (kind != ECHO)
throw new IllegalArgumentException("only ECHO messages carry a value");
return value;
}
}
Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 02.02.2015


