示例#1
0
        public void Setup()
        {
            _consumer = A.Fake <IntObjConsumer <string> >();
            _metaData = A.Fake <CountersReader.MetaData>();

            _labelsBuffer  = new UnsafeBuffer(new byte[NumberOfCounters * CountersReader.METADATA_LENGTH]);
            _counterBuffer = new UnsafeBuffer(new byte[NumberOfCounters * CountersReader.COUNTER_LENGTH]);

            _manager      = new CountersManager(_labelsBuffer, _counterBuffer);
            _otherManager = new CountersManager(_labelsBuffer, _counterBuffer);
        }
示例#2
0
        public void Setup()
        {
            _consumer = A.Fake<IntObjConsumer<string>>();
            _metaData = A.Fake<CountersReader.MetaData>();

            _labelsBuffer = new UnsafeBuffer(new byte[NumberOfCounters*CountersReader.METADATA_LENGTH]);
            _counterBuffer = new UnsafeBuffer(new byte[NumberOfCounters*CountersReader.COUNTER_LENGTH]);

            _manager = new CountersManager(_labelsBuffer, _counterBuffer);
            _otherManager = new CountersManager(_labelsBuffer, _counterBuffer);
        }
示例#3
0
        public void Setup()
        {
            _consumer = A.Fake <IntObjConsumer <string> >();
            _metaData = A.Fake <CountersReader.MetaData>();

            _labelsBuffer  = new UnsafeBuffer(BufferUtil.AllocateDirect(NumberOfCounters * CountersReader.METADATA_LENGTH));
            _counterBuffer = new UnsafeBuffer(BufferUtil.AllocateDirect(NumberOfCounters * CountersReader.COUNTER_LENGTH));

            _manager      = new CountersManager(_labelsBuffer, _counterBuffer, Encoding.ASCII);
            _otherManager = new CountersManager(_labelsBuffer, _counterBuffer, Encoding.ASCII);
        }
示例#4
0
        public void Setup()
        {
            _testClock = new TestEpochClock();

            _consumer = A.Fake <IntObjConsumer <string> >();
            _metaData = A.Fake <CountersReader.MetaData>();

            _labelsBuffer  = new UnsafeBuffer(BufferUtil.AllocateDirect(NumberOfCounters * CountersReader.METADATA_LENGTH));
            _counterBuffer = new UnsafeBuffer(BufferUtil.AllocateDirect(NumberOfCounters * CountersReader.COUNTER_LENGTH));

            _manager             = new CountersManager(_labelsBuffer, _counterBuffer, Encoding.ASCII);
            _reader              = new CountersManager(_labelsBuffer, _counterBuffer, Encoding.ASCII);
            _managerWithCooldown = new CountersManager(_labelsBuffer, _counterBuffer, Encoding.ASCII, _testClock, FREE_TO_REUSE_TIMEOUT);
        }
示例#5
0
        /// <summary>
        /// Iterate over all labels in the label buffer.
        /// </summary>
        /// <param name="consumer"> function to be called for each label. </param>
        public void ForEach(IntObjConsumer <string> consumer)
        {
            var counterId = 0;

            for (int i = 0, capacity = MetaDataBuffer.Capacity; i < capacity; i += METADATA_LENGTH)
            {
                var recordStatus = MetaDataBuffer.GetIntVolatile(i);
                if (RECORD_UNUSED == recordStatus)
                {
                    break;
                }
                else if (RECORD_ALLOCATED == recordStatus)
                {
                    var label = MetaDataBuffer.GetStringUtf8(i + LABEL_OFFSET);
                    consumer(counterId, label);
                }

                counterId++;
            }
        }
示例#6
0
        /// <summary>
        /// Iterate over all labels in the label buffer.
        /// </summary>
        /// <param name="consumer"> function to be called for each label. </param>
        public void ForEach(IntObjConsumer<string> consumer)
        {
            var counterId = 0;

            for (int i = 0, capacity = MetaDataBuffer.Capacity; i < capacity; i += METADATA_LENGTH)
            {
                var recordStatus = MetaDataBuffer.GetIntVolatile(i);
                if (RECORD_UNUSED == recordStatus)
                {
                    break;
                }
                else if (RECORD_ALLOCATED == recordStatus)
                {
                    var label = MetaDataBuffer.GetStringUtf8(i + LABEL_OFFSET);
                    consumer(counterId, label);
                }

                counterId++;
            }
        }