public void SaveBlock(MyAbstractMemoryBlock memoryBlock) { int length = m_buffer.Length; SizeT size = memoryBlock.GetSize(); while (size > length) { length *= 2; } if (length != m_buffer.Length) { m_buffer = new byte[length]; } memoryBlock.GetBytes(m_buffer); string tempFolder = GetTempStorage(memoryBlock.Owner.Owner) + "\\" + GetNodeFolder(memoryBlock.Owner); Directory.CreateDirectory(tempFolder); string filePath = tempFolder + "\\" + GetFileName(memoryBlock); try { using (var writer = new BinaryWriter(File.Open(filePath, FileMode.Create))) { writer.Write(m_buffer, 0, size); } } catch (Exception e) { MyLog.WARNING.WriteLine("Memory block saving failed (node: {0} (id: {1}), block: {2}): {3}", memoryBlock.Owner.Name, memoryBlock.Owner.Id, memoryBlock.Name, e.Message); } }
public void SaveBlock(MyAbstractMemoryBlock memoryBlock) { int length = buffer.Length; SizeT size = memoryBlock.GetSize(); while (size > length) { length *= 2; } if (length != buffer.Length) { buffer = new byte[length]; } memoryBlock.GetBytes(buffer); string tempFolder = GetTempStorage(memoryBlock.Owner.Owner) + "\\" + GetNodeFolder(memoryBlock.Owner); Directory.CreateDirectory(tempFolder); string filePath = tempFolder + "\\" + GetFileName(memoryBlock); try { BinaryWriter writer = new BinaryWriter(File.Open(filePath, FileMode.Create)); writer.Write(buffer, 0, size); writer.Close(); } catch (Exception e) { MyLog.WARNING.WriteLine("Memory block saving failed (" + memoryBlock.Owner.Name + "." + memoryBlock.Name + "): " + e.Message); } }