diff options
Diffstat (limited to 'sources/core/VSMessage.java')
| -rw-r--r-- | sources/core/VSMessage.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/sources/core/VSMessage.java b/sources/core/VSMessage.java new file mode 100644 index 0000000..b3c1d31 --- /dev/null +++ b/sources/core/VSMessage.java @@ -0,0 +1,56 @@ +package core; + +import prefs.VSPrefs; +import protocols.*; +import events.VSEvent; + +public class VSMessage extends VSPrefs implements VSEvent { + private String protocolClassname; + private VSProcess sendingProcess; + private long messageID; + private static long messageCounter; + private long lamportTime; + + public VSMessage(String protocolClassname) { + this.protocolClassname = protocolClassname; + this.messageID = ++messageCounter; + } + + public String getProtocolName() { + return RegisteredProtocols.getProtocolName(getProtocolClassname()); + } + + public String getProtocolClassname() { + return protocolClassname; + } + + public long getMessageID() { + return messageID; + } + + public void setSendingProcess(VSProcess sendingProcess) { + this.sendingProcess = sendingProcess; + lamportTime = sendingProcess.getLamportTime(); + } + + public VSProcess getSendingProcess() { + return sendingProcess; + } + + public long getLamportTime() { + return lamportTime; + } + + public String toString() { + return "ID: " + messageID; + } + + public String toStringFull() { + return toString() + "; " + super.toString(); + } + + public boolean equals(VSMessage message) { + return messageID == message.getMessageID(); + } +} + |
