Project

General

Profile

Statistics
| Revision:

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
}