public STOMPMessage(MessageMatadata metadata)
 {
     _metadata = metadata;
 }
 public STOMPMessage(MessageMatadata metadata, byte[] data)
 {
     _metadata = metadata;
     Data = data;
 }
        private static MessageMatadata GetMessageMetadata(List<byte> allData)
        {
            MessageMatadata messageMetadata = new MessageMatadata();

            string messageHeader = GetMessageHeader(allData);

            messageMetadata.MessageType = GetMessageType(messageHeader);

            messageMetadata.ContentStartIndex = GetContentStartIndex(messageHeader);

            messageMetadata.ContentLength = GetContentLength(messageHeader);

            if (messageMetadata.ContentLength == -1)// only for text message when content-length header is missing
            {
                messageMetadata.MessageEndIndex = GetEndIndexForMessage(allData.ToArray());
                messageMetadata.ContentLength = messageMetadata.MessageEndIndex - messageMetadata.ContentStartIndex;
                messageMetadata.MessageType = AppConfigConstants.TEXTMESSAGECONTENTTYPE; //set file extension as text
            }
            else
                messageMetadata.MessageEndIndex = messageMetadata.ContentStartIndex + messageMetadata.ContentLength + 2;

            return messageMetadata;
        }