Ejemplo n.º 1
0
        public void NativeMultiQueue_SimpleScenarios()
        {
            using (NativeMultiQueue <int> eventQ = new NativeMultiQueue <int>(5))
            {
                for (int connection = 0; connection < 5; connection++)
                {
                    // Test Add
                    int item = 0;

                    eventQ.Enqueue(connection, 1);
                    eventQ.Enqueue(connection, 1);
                    eventQ.Enqueue(connection, 1);
                    eventQ.Enqueue(connection, 1);
                    eventQ.Enqueue(connection, 1);

                    // Add grows capacity
                    eventQ.Enqueue(connection, 1);

                    // Test Rem
                    Assert.True(eventQ.Dequeue(connection, out item));
                    Assert.True(eventQ.Dequeue(connection, out item));
                    Assert.True(eventQ.Dequeue(connection, out item));
                    Assert.True(eventQ.Dequeue(connection, out item));
                    Assert.True(eventQ.Dequeue(connection, out item));

                    // Remove with grown capacity
                    Assert.True(eventQ.Dequeue(connection, out item));
                }
            }
        }
Ejemplo n.º 2
0
 public void Initialize(int receiveQueueSize)
 {
     m_IPCQueue     = new NativeMultiQueue <IPCData>(receiveQueueSize);
     m_FreeList     = new NativeQueue <int>(Allocator.Persistent);
     m_IPCEndPoints = new NativeList <ushort>(1, Allocator.Persistent);
     QueueSize      = receiveQueueSize;
 }
Ejemplo n.º 3
0
 public void AddRef()
 {
     if (m_RefCount == 0)
     {
         m_IPCQueue    = new NativeMultiQueue <IPCData>(128);
         m_IPCChannels = new NativeHashMap <ushort, int>(64, Allocator.Persistent);
     }
     ++m_RefCount;
 }