From e0beda50310464c5b1504f99a062ec52b31c6f0b Mon Sep 17 00:00:00 2001 From: Nadia Aina <113453463+Nadia-Adaptive@users.noreply.github.com> Date: Wed, 21 Jan 2026 13:43:54 +0000 Subject: [PATCH 1/2] Add failing test for countersMetadataBuffer capacity --- .../CncFileDescriptorTest.cs | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/Adaptive.Aeron.Tests/CncFileDescriptorTest.cs diff --git a/src/Adaptive.Aeron.Tests/CncFileDescriptorTest.cs b/src/Adaptive.Aeron.Tests/CncFileDescriptorTest.cs new file mode 100644 index 0000000..62b2c86 --- /dev/null +++ b/src/Adaptive.Aeron.Tests/CncFileDescriptorTest.cs @@ -0,0 +1,28 @@ +using NUnit.Framework; +using Adaptive.Agrona.Util; +using Adaptive.Agrona.Concurrent; +using Adaptive.Agrona; +using System.IO; + +namespace Adaptive.Aeron.Tests +{ + class CncFileDescriptorTest + { + [Test] + [Ignore("Media driver needs to be running")] + public void ShouldAllocateCapacityForCounterMetadataBuffer() + { + string aeronDir = Aeron.Context.GetAeronDirectoryName(); + + MappedByteBuffer cncByteBuffer = IoUtil.MapExistingFile( + Path.Combine(aeronDir, "cnc.dat"), MapMode.ReadOnly); + + UnsafeBuffer metadataBuffer = CncFileDescriptor.CreateMetaDataBuffer(cncByteBuffer); + + UnsafeBuffer countersValueBuffer = CncFileDescriptor.CreateCountersValuesBuffer(cncByteBuffer, metadataBuffer); + UnsafeBuffer countersMetadataBuffer = CncFileDescriptor.CreateCountersMetaDataBuffer(cncByteBuffer, metadataBuffer); + + Assert.AreEqual(Tests.countersMetadataBufferLength(countersValueBuffer.Capacity), countersMetadataBuffer.Capacity); + } + } +} \ No newline at end of file From 6676dee3ee6c9c8dace75e0478495b2d7edee07b Mon Sep 17 00:00:00 2001 From: Nadia Aina <113453463+Nadia-Adaptive@users.noreply.github.com> Date: Wed, 21 Jan 2026 16:24:22 +0000 Subject: [PATCH 2/2] Use correct field offset for CreateCountersMetaDataBuffer --- src/Adaptive.Aeron/CncFileDescriptor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Adaptive.Aeron/CncFileDescriptor.cs b/src/Adaptive.Aeron/CncFileDescriptor.cs index 481f428..78a0c48 100644 --- a/src/Adaptive.Aeron/CncFileDescriptor.cs +++ b/src/Adaptive.Aeron/CncFileDescriptor.cs @@ -313,7 +313,7 @@ public static UnsafeBuffer CreateCountersMetaDataBuffer(MappedByteBuffer buffer, metaDataBuffer.GetInt(TO_CLIENTS_BUFFER_LENGTH_FIELD_OFFSET); return new UnsafeBuffer(buffer.Pointer, offset, - metaDataBuffer.GetInt(TO_CLIENTS_BUFFER_LENGTH_FIELD_OFFSET)); + metaDataBuffer.GetInt(COUNTERS_METADATA_BUFFER_LENGTH_FIELD_OFFSET)); } ///