Example #1
0
 public void WriteAsHex(byte data)
 {
     this.ValidateCapacity(2);
     this.segment.Array[this.segment.Offset + this.end] = ByteArrayWriter.GetLowerHexChar((byte)(data >> 4));
     this.end++;
     this.segment.Array[this.segment.Offset + this.end] = ByteArrayWriter.GetLowerHexChar(data & 15);
     this.end++;
 }
Example #2
0
 public void WriteAsHex(ArraySegment <byte> data)
 {
     this.ValidateCapacity(data.Count * 2);
     for (int i = 0; i < data.Count; i++)
     {
         this.segment.Array[this.segment.Offset + this.end] = ByteArrayWriter.GetLowerHexChar((byte)(data.Array[data.Offset + i] >> 4));
         this.end++;
         this.segment.Array[this.segment.Offset + this.end] = ByteArrayWriter.GetLowerHexChar(data.Array[data.Offset + i] & 15);
         this.end++;
     }
 }
Example #3
0
        public void WriteAsHex8(int value)
        {
            this.ValidateCapacity(8);
            this.end += 8;
            int i = 1;

            while (i < 9)
            {
                this.segment.Array[this.segment.Offset + this.end - i] = ByteArrayWriter.GetLowerHexChar((byte)(value & 15));
                i++;
                value >>= 4;
            }
        }
Example #4
0
		private byte[] GetWritedArrayPart(ByteArrayWriter writer)
		{
			var bytes = new byte[writer.Count];

			Buffer.BlockCopy(writer.Segment.Array, writer.Offset, bytes, 0, bytes.Length);

			return bytes;
		}
Example #5
0
		public void WriteContent(ByteArrayWriter writer)
		{
			lock (tuples)
				WriteContent(writer, CountLength());
		}
Example #6
0
		private void WriteContent(ByteArrayWriter writer, int length)
		{
			writer.ValidateCapacity(length);

			writer.Write(documentHeader);

			if (tuples.Count > 0)
			{
				for (int i = 0; i < tuples.Count; i++)
					writer.Write(tuples[i].Data);
			}
			else
			{
				writer.Write(defaultTuple0);
				writer.Write(aor);
				writer.Write(defaultTuple1);
			}

			writer.Write(documentFooter);
		}