/// <summary>
 /// 申请一个缓冲区
 /// </summary>
 /// <returns></returns>
 public static ArraySegment <byte> GetBuffer()
 {
     lock (BufferManager.syncRoot)
     {
         ArraySegment <byte>?buffer;
         while ((buffer = BufferManager.linkedList.Last.Value.AllocBuffer()) == null)
         {
             BufferManager.CreateBufferBlock();
         }
         return(buffer.Value);
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 申请一个缓冲区
 /// </summary>
 /// <returns></returns>
 public static ByteRange GetBuffer()
 {
     lock (BufferManager.syncRoot)
     {
         ByteRange buffer;
         while ((buffer = BufferManager.linkedList.Last.Value.AllocBuffer()) == null)
         {
             BufferManager.CreateBufferBlock();
         }
         return(buffer);
     }
 }
 /// <summary>
 /// 设置SocketAsyncEventArgs缓冲区
 /// </summary>
 static BufferManager()
 {
     BufferManager.CreateBufferBlock();
 }