Server.Network.BufferPool.AcquireBuffer C# (CSharp) Méthode

AcquireBuffer() public méthode

public AcquireBuffer ( ) : byte[]
Résultat byte[]
		public byte[] AcquireBuffer()
		{
			lock ( this )
			{
				if ( m_FreeBuffers.Count > 0 )
					return m_FreeBuffers.Dequeue();

				++m_Misses;

				for ( int i = 0; i < m_InitialCapacity; ++i )
					m_FreeBuffers.Enqueue( new byte[m_BufferSize] );

				return m_FreeBuffers.Dequeue();
			}
		}

Usage Example

Exemple #1
0
        public NetState(Socket socket, MessagePump messagePump)
        {
            m_Socket      = socket;
            m_Buffer      = new ByteQueue();
            m_Seeded      = false;
            m_Running     = false;
            m_RecvBuffer  = m_ReceiveBufferPool.AcquireBuffer();
            m_MessagePump = messagePump;
            m_Gumps       = new List <Gump>();
            m_HuePickers  = new List <HuePicker>();
            m_Menus       = new List <IMenu>();
            m_Trades      = new List <SecureTrade>();

            m_SendQueue = new SendQueue();

            m_NextCheckActivity = DateTime.Now + TimeSpan.FromMinutes(0.5);

            m_Instances.Add(this);

            try {
                m_Address  = Utility.Intern((( IPEndPoint )m_Socket.RemoteEndPoint).Address);
                m_ToString = m_Address.ToString();
            } catch (Exception ex) {
                TraceException(ex);
                m_Address  = IPAddress.None;
                m_ToString = "(error)";
            }

            m_ConnectedOn = DateTime.Now;

            if (m_CreatedCallback != null)
            {
                m_CreatedCallback(this);
            }
        }
All Usage Examples Of Server.Network.BufferPool::AcquireBuffer