Example #1
0
 private long GetVersion(Guid id)
 {
     var file = id.GetVersionFile(_path);
     return file.Length/8;
 }
Example #2
0
        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);
            }
        }
Example #3
0
 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);
     }
 }