root / proj / src / Message.java @ 1
History | View | Annotate | Download (1.34 KB)
1 | 1 | up20160559 | 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 | } |