root / proj / src / Message.java @ 1
History | View | Annotate | Download (1.34 KB)
1 |
import java.nio.charset.StandardCharsets; |
---|---|
2 |
|
3 |
public class Message { |
4 |
Header header; |
5 |
public static String CRLF = "" + (char) 0xD + (char) 0xA; |
6 |
byte[] body; |
7 |
|
8 |
|
9 |
|
10 |
public Message(String messageType, String version, int senderId, String fileId,int chunkNo, int ReplicationDeg, byte[] body) { |
11 |
//<MessageType> <Version> <SenderId> <FileId> <ChunkNo> <ReplicationDeg> <CRLF>
|
12 |
this.header= new Header(messageType, version, senderId, fileId, chunkNo, ReplicationDeg); |
13 |
this.body = body;
|
14 |
} |
15 |
|
16 |
|
17 |
public String messageToString() { |
18 |
if(body != null) |
19 |
return header.getMessageType() + " " + header.getVersion() + " " + header.getSenderId() + " " + header.getFileId() + " " + |
20 |
header.getChunkNo() + " " + header.getReplicationDeg() + " "+ CRLF + CRLF + new String(body, StandardCharsets.UTF_8); |
21 |
else return header.getMessageType() + " " + header.getVersion() + " " + header.getSenderId() + " " + header.getFileId() + " " + |
22 |
header.getChunkNo() + " " + header.getReplicationDeg() + " "+ CRLF + CRLF; |
23 |
} |
24 |
|
25 |
public String messageToStringPrintable() { |
26 |
return header.getMessageType() + " " + header.getVersion() + " " + header.getSenderId() + " " + header.getFileId() + " " + |
27 |
header.getChunkNo() + " " + header.getReplicationDeg() ;
|
28 |
} |
29 |
|
30 |
public byte[] sendable() { |
31 |
return this.messageToString().getBytes(); |
32 |
} |
33 |
|
34 |
public byte[] getBody() |
35 |
{ |
36 |
return this.body; |
37 |
} |
38 |
|
39 |
} |