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++; }
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++; } }
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; } }
private byte[] GetWritedArrayPart(ByteArrayWriter writer) { var bytes = new byte[writer.Count]; Buffer.BlockCopy(writer.Segment.Array, writer.Offset, bytes, 0, bytes.Length); return bytes; }
public void WriteContent(ByteArrayWriter writer) { lock (tuples) WriteContent(writer, CountLength()); }
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); }