本文整理汇总了C#中BufferManager.CheckOut方法的典型用法代码示例。如果您正苦于以下问题:C# BufferManager.CheckOut方法的具体用法?C# BufferManager.CheckOut怎么用?C# BufferManager.CheckOut使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BufferManager
的用法示例。
在下文中一共展示了BufferManager.CheckOut方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: should_throw_an_unabletocreatememoryexception_if_acquiring_memory_is_disabled_and_out_of_memory
public void should_throw_an_unabletocreatememoryexception_if_acquiring_memory_is_disabled_and_out_of_memory()
{
BufferManager manager = new BufferManager(1, 1000, 1, false);
manager.CheckOut();
//should be none left, boom
Assert.Throws<UnableToCreateMemoryException>(() => manager.CheckOut());
}
示例2: BufferPool
/// <summary>
/// Initializes a new instance of the <see cref="BufferPool"/> class.
/// </summary>
/// <param name="initialBufferCount">The number of initial buffers.</param>
/// <param name="bufferManager">The buffer manager.</param>
public BufferPool(int initialBufferCount, BufferManager bufferManager)
{
if (initialBufferCount <= 0)
throw new ArgumentException("initialBufferCount");
if (bufferManager == null)
throw new ArgumentNullException("bufferManager");
_length = 0;
_buffers = new List<ArraySegment<byte>>(bufferManager.CheckOut(initialBufferCount));
// must have 1 buffer
_chunkSize = _buffers[0].Count;
_bufferManager = bufferManager;
_disposed = false;
}
示例3: should_accept_a_checked_out_buffer
public void should_accept_a_checked_out_buffer()
{
BufferManager manager = new BufferManager(10, 1000, 0);
manager.CheckIn(manager.CheckOut());
}
示例4: should_release_acquired_buffers_if_size_requirement_cant_be_satisfied
public void should_release_acquired_buffers_if_size_requirement_cant_be_satisfied()
{
BufferManager manager = new BufferManager(1, 1000, 1, false);
Assert.Throws(Is.InstanceOf(typeof(Exception)), () => manager.CheckOut(2));
Assert.AreEqual(1, manager.AvailableBuffers);
}
示例5: should_create_a_segment_if_none_are_availabke
public void should_create_a_segment_if_none_are_availabke()
{
BufferManager manager = new BufferManager(10, 1000, 0);
manager.CheckOut();
Assert.AreEqual(9, manager.AvailableBuffers);
}
示例6: should_decrement_available_buffers
public void should_decrement_available_buffers()
{
BufferManager manager = new BufferManager(1, 1000, 1);
manager.CheckOut();
Assert.AreEqual(0, manager.AvailableBuffers);
}
示例7: should_return_a_valid_buffer_when_available
public void should_return_a_valid_buffer_when_available()
{
BufferManager manager = new BufferManager(1, 1000, 1);
ArraySegment<byte> buffer = manager.CheckOut();
Assert.AreEqual(1000, buffer.Count);
}
示例8: should_increment_available_buffers
public void should_increment_available_buffers()
{
BufferManager manager = new BufferManager(10, 1000, 0);
manager.CheckIn(manager.CheckOut());
Assert.AreEqual(10, manager.AvailableBuffers);
}
示例9: should_throw_an_unabletocreatememoryexception_if_acquiring_memory_is_disabled_and_out_of_memory
public void should_throw_an_unabletocreatememoryexception_if_acquiring_memory_is_disabled_and_out_of_memory()
{
BufferManager manager = new BufferManager(1, 1000, 1, false);
ArraySegment<byte> buffer = manager.CheckOut();
//should be none left, boom
manager.CheckOut();
}