public EUID(byte[] bytes) { byte[] newBytes = Extend(bytes); long high = Longs.FromByteArray(newBytes, 0); long low = Longs.FromByteArray(newBytes, 8); _value = Int128.Create(low, high); }
/// <exception cref="System.IO.IOException"/> private void LazyOpen() { if (ch != null) { return; } // Load current value. byte[] data = null; try { data = Files.ToByteArray(file); } catch (FileNotFoundException) { } // Expected - this will use default value. if (data != null && data.Length != 0) { if (data.Length != Longs.Bytes) { throw new IOException("File " + file + " had invalid length: " + data.Length); } value = Longs.FromByteArray(data); } else { value = defaultVal; } // Now open file for future writes. RandomAccessFile raf = new RandomAccessFile(file, "rw"); try { ch = raf.GetChannel(); } finally { if (ch == null) { IOUtils.CloseStream(raf); } } }