private static void WriteIntBigEndian(this IByteWriter writer, int value) { writer.WriteByte((byte)(value >> 24)); writer.WriteByte((byte)(value >> 16)); writer.WriteByte((byte)(value >> 8)); writer.WriteByte((byte)(value)); }
public void WriteTo(IByteWriter writer) { writer.WriteLong(); writer.WriteUnicodeString(FileName); // UUID (filename) writer.WriteUnicodeString(Name); // Name (itemname) writer.WriteByte(); writer.WriteInt(); writer.WriteLong(AccountId); // AccountId writer.WriteLong(CharacterId); // CharacterId writer.WriteUnicodeString(Author); // CharacterName writer.WriteLong(CreationTime); // CreationTime writer.WriteUnicodeString(Url); // URL (no domain) writer.WriteByte(); }
protected override void Given() { _byteWriter = A.Fake <Protocol.IByteWriter>(); A.CallTo(() => _byteWriter.WriteByte(A <byte> .Ignored)) .Invokes((byte @byte) => _byteWritten = @byte); _writer = new BitWriter(_byteWriter); }
public void Flush() { if (_values.Any() == false) { return; } var result = 0; for (var i = 0; i < _values.Count; i++) { result |= (_values[i] ? 1 : 0) << i; } _values.Clear(); _writer.WriteByte((byte)result); }
private byte WriteData(int index, IByteWriter writer) { _buffer.Clear(); while (true) { var entry = _table[index]; _buffer.Add(entry.Value); index = entry.PrefixIndex; if (index != -1) { continue; } foreach (var dataByte in _buffer.AsEnumerable().Reverse()) { writer.WriteByte(dataByte); } return(_buffer.Last()); } }
public bool ProcessNextCode(int code, IByteWriter writer, out bool reset) { reset = false; if (code == _resetTable) { reset = true; Reset(); } else if (code == _endOfStream) { return(false); } else if (_oldCode == -1) { WriteData(code, writer); _oldCode = code; } else if (code < Count) { var fbyte = WriteData(code, writer); Add(_oldCode, fbyte); _oldCode = code; } else { var fbyte = WriteData(_oldCode, writer); writer.WriteByte(fbyte); Add(_oldCode, fbyte); _oldCode = code; } return(true); }