private long GetVersion(Guid id) { var file = id.GetVersionFile(_path); return file.Length/8; }
private void UpdateEventSourceIndexFile(Guid id, params long[] indicies) { var file = id.GetVersionFile(_path); var bytes = new byte[indicies.Length * 8]; for (int i = 0; i < indicies.Length; i += 8) { var bytesIndex = i * 8; var intbytes = BitConverter.GetBytes(indicies[i]); for (int byteIndexOffset = 0; byteIndexOffset < 8; byteIndexOffset++) { bytes[bytesIndex + byteIndexOffset] = intbytes[byteIndexOffset]; } } using (var writer = file.OpenWrite()) { writer.Seek(0, SeekOrigin.End); writer.Write(bytes, 0, 8); } }
private long GetEventSourceIndexForVersion(Guid id, long version) { var file = id.GetVersionFile(_path); using (var reader = file.OpenRead()) { reader.Seek(version*8, SeekOrigin.Begin); var indexBytes = new byte[8]; reader.Read(indexBytes, 0, 8); return BitConverter.ToInt64(indexBytes, 0); } }