public unsafe long Shrink(int size) { using (var header = AccessHeader()) return Interlocked.Add(ref header.Ptr->DataLength, -size); }