< Summary

Class:Microsoft.Azure.EventHubs.ServiceFabricProcessor.EventProcessorOptions
Assembly:Microsoft.Azure.EventHubs.ServiceFabricProcessor
File(s):C:\Git\azure-sdk-for-net\sdk\eventhub\Microsoft.Azure.EventHubs.ServiceFabricProcessor\src\EventProcessorOptions.cs
Covered lines:21
Uncovered lines:0
Coverable lines:21
Total lines:92
Line coverage:100% (21 of 21)
Covered branches:2
Total branches:2
Branch coverage:100% (2 of 2)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor()-100%100%
get_MaxBatchSize()-100%100%
get_PrefetchCount()-100%100%
get_ReceiveTimeout()-100%100%
get_EnableReceiverRuntimeMetric()-100%100%
get_InvokeProcessorAfterReceiveTimeout()-100%100%
get_InitialPositionProvider()-100%100%
get_ClientReceiverOptions()-100%100%
get_OnShutdown()-100%100%
NotifyOnShutdown(...)-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\eventhub\Microsoft.Azure.EventHubs.ServiceFabricProcessor\src\EventProcessorOptions.cs

#LineLine coverage
 1// Copyright (c) Microsoft. All rights reserved.
 2// Licensed under the MIT license. See LICENSE file in the project root for full license information.using System;
 3
 4namespace Microsoft.Azure.EventHubs.ServiceFabricProcessor
 5{
 6    using System;
 7
 8    /// <summary>
 9    /// Type used for OnShutdown property.
 10    /// </summary>
 11    /// <param name="e"></param>
 12    public delegate void ShutdownNotification(Exception e);
 13
 14    /// <summary>
 15    /// Options that govern the functioning of the processor.
 16    /// </summary>
 17    public class EventProcessorOptions
 18    {
 19        /// <summary>
 20        /// Construct with default options.
 21        /// </summary>
 1422        public EventProcessorOptions()
 23        {
 1424            this.MaxBatchSize = 10;
 1425            this.PrefetchCount = 300;
 1426            this.ReceiveTimeout = TimeSpan.FromMinutes(1);
 1427            this.EnableReceiverRuntimeMetric = false;
 1428            this.InvokeProcessorAfterReceiveTimeout = false;
 1829            this.InitialPositionProvider = partitionId => EventPosition.FromStart();
 1430            this.ClientReceiverOptions = null;
 1431            this.OnShutdown = null;
 1432        }
 33
 34        /// <summary>
 35        /// The maximum number of events that will be presented to IEventProcessor.OnEventsAsync in one call.
 36        /// Defaults to 10.
 37        /// </summary>
 24838        public int MaxBatchSize { get; set; }
 39
 40        /// <summary>
 41        /// The prefetch count for the Event Hubs receiver.
 42        /// Defaults to 300.
 43        /// </summary>
 2244        public int PrefetchCount { get; set; }
 45
 46        /// <summary>
 47        /// The timeout for the Event Hubs receiver.
 48        /// Defaults to one minute.
 49        /// </summary>
 3050        public TimeSpan ReceiveTimeout { get; set; }
 51
 52        /// <summary>
 53        /// Gets or sets a value indicating whether the runtime metric of a receiver is enabled (true) or disabled (fals
 54        /// Defaults to false.
 55        /// </summary>
 24056        public bool EnableReceiverRuntimeMetric { get; set; }
 57
 58        /// <summary>
 59        /// Determines whether IEventProcessor.OnEventsAsync is called when the Event Hubs receiver times out.
 60        /// Set to true to get calls with empty event list.
 61        /// Set to false to not get calls.
 62        /// Defaults to false.
 63        /// </summary>
 24864        public bool InvokeProcessorAfterReceiveTimeout { get; set; }
 65
 66        /// <summary>
 67        /// If there is no checkpoint, the user can provide a position for the Event Hubs receiver to start at.
 68        /// Defaults to first event available in the stream.
 69        /// </summary>
 2470        public Func<string, EventPosition> InitialPositionProvider { get; set; }
 71
 72        /// <summary>
 73        /// ReceiverOptions used by the underlying Event Hubs client.
 74        /// Defaults to null.
 75        /// </summary>
 2276        public ReceiverOptions ClientReceiverOptions { get; set; }
 77
 78        /// <summary>
 79        /// TODO -- is this needed? It's called just before SFP.RunAsync throws out/returns to user code anyway.
 80        /// But user code won't see that until it awaits the Task, so maybe this is useful?
 81        /// </summary>
 5282        public ShutdownNotification OnShutdown { get; set; }
 83
 84        internal void NotifyOnShutdown(Exception shutdownException)
 85        {
 1286            if (this.OnShutdown != null)
 87            {
 1288                this.OnShutdown(shutdownException);
 89            }
 1290        }
 91    }
 92}