Example #1
0
        public void should_allocate_unmanaged_buffer()
        {
            // Act
            using var buffer = new UnmanagedRioBuffer <SendRequestEntry>(5, 1024);

            // Assert
            Assert.AreEqual(5, buffer.Length);
            Assert.AreEqual(sizeof(SendRequestEntry) + 1024, buffer.EntryReservedSpaceSize);
            Assert.AreNotEqual(IntPtr.Zero, (IntPtr)buffer.FirstEntry);
        }
Example #2
0
        public void should_allow_access_and_mutation_of_entries()
        {
            // Arrange
            using var buffer = new UnmanagedRioBuffer <SendRequestEntry>(5, 1024);

            // Act
            for (var i = 0; i < buffer.Length; i++)
            {
                buffer[i]->EntryType = SendRequestEntryType.Send;
                buffer[i]->SessionId = 42;
            }

            // Assert
            for (var i = 0; i < buffer.Length; i++)
            {
                Assert.AreEqual(SendRequestEntryType.Send, buffer[i]->EntryType);
                Assert.AreEqual(42, buffer[i]->SessionId);
            }
        }
        public void should_allow_access_and_mutation_of_entries()
        {
            // Arrange
            using var buffer = new UnmanagedRioBuffer <RequestEntry>(5, 1024);

            // Act
            for (var i = 0; i < buffer.Length; i++)
            {
                buffer[i]->Type            = RequestType.Receive;
                buffer[i]->SessionId       = 42;
                buffer[i]->BufferSegmentId = 123;
            }

            // Assert
            for (var i = 0; i < buffer.Length; i++)
            {
                Assert.AreEqual(RequestType.Receive, buffer[i]->Type);
                Assert.AreEqual(42, buffer[i]->SessionId);
                Assert.AreEqual(123, buffer[i]->BufferSegmentId);
            }
        }