Example #1
0
 public EzySimpleMessage(EzyMessageHeader header, byte[] content, int size)
 {
     this.header    = header;
     this.content   = content;
     this.size      = size;
     this.byteCount = 1 + getSizeLength() + getContent().Length;
 }
        private void writeHeader(EzyByteBuffer buffer, EzyMessageHeader header)
        {
            byte headerByte = 0;

            headerByte |= (byte)(header.isBigSize() ? 1 << 0 : 0);
            headerByte |= (byte)(header.isEncrypted() ? 1 << 1 : 0);
            headerByte |= (byte)(header.isCompressed() ? 1 << 2 : 0);
            headerByte |= (byte)(header.isText() ? 1 << 3 : 0);
            buffer.put(headerByte);
        }
        public static EzyMessage bytesToMessage(byte[] bytes)
        {
            EzyMessageHeader header = EzyMessageHeaderReader.read(bytes[0]);
            int messageSizeLength   = header.isBigSize() ? 4 : 2;
            int minSize             = 2 + messageSizeLength;

            if (bytes.Length < minSize)
            {
                return(null);
            }
            byte[] messageSizeBytes = EzyBytes.copyBytes(bytes, 1, messageSizeLength);
            int    messageSize      = EzyInts.bin2int(messageSizeBytes);
            int    allSize          = 1 + messageSizeLength + messageSize;

            if (bytes.Length != allSize)
            {
                return(null);
            }
            int contentStart = 1 + messageSizeLength;

            byte[] messageContent = EzyBytes.copyBytes(bytes, contentStart, messageSize);
            return(new EzySimpleMessage(header, messageContent, messageSize));
        }
Example #4
0
 private void readHeader(byte headerByte)
 {
     this.header = EzyMessageHeaderReader.read(headerByte);
 }
Example #5
0
 public void setHeader(EzyMessageHeader header)
 {
     this.header = header;
 }
 private void readHeader(byte header)
 {
     this.header = headerReader.read(header);
 }
 public EzyMessageBuilder setHeader(EzyMessageHeader header)
 {
     this.header = header;
     return(this);
 }