CQRS.NET  4.0
A lightweight enterprise Function as a Service (FaaS) framework to write function based serverless and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments.
Cqrs.Azure.ServiceBus.AzureEventHub< TAuthenticationToken > Class Template Reference

An AzureBus<TAuthenticationToken> that uses Azure Service Event Hubs. More...

+ Inheritance diagram for Cqrs.Azure.ServiceBus.AzureEventHub< TAuthenticationToken >:

Protected Member Functions

 AzureEventHub (IConfigurationManager configurationManager, IMessageSerialiser< TAuthenticationToken > messageSerialiser, IAuthenticationTokenHelper< TAuthenticationToken > authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IHashAlgorithmFactory hashAlgorithmFactory, bool isAPublisher)
 Instantiates a new instance of AzureEventHub<TAuthenticationToken> More...
 
override string GetConnectionString ()
 Gets the connection string for the bus from AzureBus<TAuthenticationToken>.ConfigurationManager More...
 
override void SetConnectionStrings ()
 Calls AzureBus<TAuthenticationToken>.SetConnectionStrings and then sets the required storage connection string. More...
 
override void InstantiatePublishing ()
 Instantiate publishing on this bus by calling CheckPrivateHubExists and CheckPublicHubExists then calling AzureBus<TAuthenticationToken>.StartSettingsChecking More...
 
override void InstantiateReceiving ()
 Instantiate receiving on this bus by calling CheckPrivateHubExists and CheckPublicHubExists then InstantiateReceiving for private and public topics, then calling AzureBus<TAuthenticationToken>.StartSettingsChecking More...
 
virtual void CheckPrivateHubExists (Manager manager)
 Checks if the private hub and consumer group name exists as per PrivateEventHubName and PrivateEventHubConsumerGroupName. More...
 
virtual void CheckPublicHubExists (Manager manager)
 Checks if the public hub and consumer group name exists as per PublicEventHubName and PublicEventHubConsumerGroupName. More...
 
virtual void CheckHubExists (Manager manager, string hubName, string consumerGroupNames)
 Checks if a event hub by the provided hubName exists and Checks if a consumer group by the provided consumerGroupNames exists. More...
 
override bool ValidateSettingsHaveChanged ()
 Checks AzureBus<TAuthenticationToken>.ValidateSettingsHaveChanged and that StorageConnectionString have changed. More...
 
override void TriggerSettingsChecking ()
 Triggers settings checking on EventHubPublisher and EventHubReceiver, then calls InstantiateReceiving and InstantiatePublishing. More...
 
virtual void RegisterReceiverMessageHandler (Action< PartitionContext, EventData > receiverMessageHandler, EventProcessorOptions receiverMessageHandlerOptions=null)
 Registers the provided receiverMessageHandler with the provided receiverMessageHandlerOptions . More...
 
virtual void StoreReceiverMessageHandler (Action< PartitionContext, EventData > receiverMessageHandler, EventProcessorOptions receiverMessageHandlerOptions=null)
 Stores the provided receiverMessageHandler and receiverMessageHandlerOptions . More...
 
override void ApplyReceiverMessageHandler ()
 Applies the stored ReceiverMessageHandler and ReceiverMessageHandlerOptions to the EventHubReceiver. More...
 
virtual EventData CreateBrokeredMessage< TMessage > (Func< TMessage, string > serialiserFunction, Type messageType, TMessage message)
 Create EventData with additional properties to aid routing and tracing More...
 
virtual IDictionary< string, string > ExtractTelemetryProperties (EventData message, string baseCommunicationType)
 Extract any telemetry properties from the provided message . More...
 
virtual string ExtractSignature (EventData eventData)
 Extract the signature from the provided eventData . More...
 
- Protected Member Functions inherited from Cqrs.Azure.ServiceBus.AzureBus< TAuthenticationToken >
 AzureBus (IConfigurationManager configurationManager, IMessageSerialiser< TAuthenticationToken > messageSerialiser, IAuthenticationTokenHelper< TAuthenticationToken > authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, bool isAPublisher)
 Instantiates a new instance of AzureBus<TAuthenticationToken> More...
 
virtual void SetNumberOfReceiversCount ()
 Sets NumberOfReceiversCount from GetCurrentNumberOfReceiversCount. More...
 
virtual void SetMaximumConcurrentReceiverProcessesCount ()
 Sets MaximumConcurrentReceiverProcessesCount from GetCurrentMaximumConcurrentReceiverProcessesCount. More...
 
virtual int GetCurrentNumberOfReceiversCount ()
 Returns DefaultNumberOfReceiversCount. More...
 
virtual int GetCurrentMaximumConcurrentReceiverProcessesCount ()
 Returns DefaultMaximumConcurrentReceiverProcessesCount. More...
 

Static Protected Attributes

const string DefaultPrivateEventHubConsumerGroupName = "$Default"
 The default name of the consumer group in the private event hub if no IConfigurationManager value is set. More...
 
const string DefaultPublicEventHubConsumerGroupName = "$Default"
 The default name of the consumer group in the public event hub if no IConfigurationManager value is set. More...
 
- Static Protected Attributes inherited from Cqrs.Azure.ServiceBus.AzureBus< TAuthenticationToken >
const int DefaultNumberOfReceiversCount = 1
 The default number of receivers to start and run. More...
 
const int DefaultMaximumConcurrentReceiverProcessesCount = 1
 The default number for MaximumConcurrentReceiverProcessesCount. More...
 

Properties

EventHubClient EventHubPublisher [get]
 Gets the publicEventHubClient. More...
 
EventProcessorHost EventHubReceiver [get]
 Gets the publicEventProcessorHost. More...
 
string PrivateEventHubName [get, set]
 The name of the private event hub. More...
 
string PublicEventHubName [get]
 The name of the public event hub. More...
 
string PrivateEventHubConsumerGroupName [get]
 The name of the consumer group in the private event hub. More...
 
string PublicEventHubConsumerGroupName [get]
 The name of the consumer group in the public event hub. More...
 
abstract string EventHubConnectionStringNameConfigurationKey [get]
 The configuration key for the event hub connection string as used by IConfigurationManager. More...
 
abstract string EventHubStorageConnectionStringNameConfigurationKey [get]
 The configuration key for the event hub storage connection string as used by IConfigurationManager. More...
 
abstract string SigningTokenConfigurationKey [get]
 The configuration key for the signing token as used by IConfigurationManager. More...
 
abstract string PrivateEventHubNameConfigurationKey [get]
 The configuration key for the name of the private event hub as used by IConfigurationManager. More...
 
abstract string PublicEventHubNameConfigurationKey [get]
 The configuration key for the name of the public event hub as used by IConfigurationManager. More...
 
abstract string PrivateEventHubConsumerGroupNameConfigurationKey [get]
 The configuration key for the name of the consumer group name of the private event hub as used by IConfigurationManager. More...
 
abstract string PublicEventHubConsumerGroupNameConfigurationKey [get]
 The configuration key for the name of the consumer group name of the public event hub as used by IConfigurationManager. More...
 
abstract string DefaultPrivateEventHubName [get]
 The default name of the private event hub if no IConfigurationManager value is set. More...
 
abstract string DefaultPublicEventHubName [get]
 The default name of the public event hub if no IConfigurationManager value is set. More...
 
string StorageConnectionString [get]
 The event hub storage connection string. More...
 
Action< PartitionContext, EventData > ReceiverMessageHandler [get]
 The handler used for EventProcessorHost.RegisterEventProcessorFactoryAsync(IEventProcessorFactory) on EventHubReceiver. More...
 
EventProcessorOptions ReceiverMessageHandlerOptions [get]
 The EventProcessorOptions used for EventProcessorHost.RegisterEventProcessorFactoryAsync(IEventProcessorFactory) on EventHubReceiver. More...
 
ITelemetryHelper TelemetryHelper [get, set]
 Gets the ITelemetryHelper. More...
 
IHashAlgorithmFactory Signer [get]
 The IHashAlgorithmFactory to use to sign messages. More...
 
IList< string > ExclusionNamespaces [get]
 A list of namespaces to exclude when trying to automatically determine the container. More...
 
- Properties inherited from Cqrs.Azure.ServiceBus.AzureBus< TAuthenticationToken >
string ConnectionString [get, set]
 Gets or sets the connection string to the bus. More...
 
IMessageSerialiser< TAuthenticationToken > MessageSerialiser [get]
 Gets or sets the IMessageSerialiser<TAuthenticationToken>. More...
 
IAuthenticationTokenHelper< TAuthenticationToken > AuthenticationTokenHelper [get]
 Gets or sets the IAuthenticationTokenHelper<TAuthenticationToken>. More...
 
ICorrelationIdHelper CorrelationIdHelper [get]
 Gets or sets the ICorrelationIdHelper. More...
 
ILogger Logger [get]
 Gets or sets the ILogger. More...
 
IConfigurationManager ConfigurationManager [get]
 Gets or sets the IConfigurationManager. More...
 
IDictionary< Guid, IList< IEvent< TAuthenticationToken > > > EventWaits [get]
 Gets or sets the events to wait for before responding to the caller keyed by the ICommand<TAuthenticationToken>.Id More...
 
int NumberOfReceiversCount [get, set]
 The number of receivers to start and run. More...
 
int MaximumConcurrentReceiverProcessesCount [get, set]
 
bool AuthenticationTokenIsGuid [get]
 Indicates if the TAuthenticationToken is a Guid. More...
 
bool AuthenticationTokenIsInt [get]
 Indicates if the TAuthenticationToken is an int. More...
 
bool AuthenticationTokenIsString [get]
 Indicates if the TAuthenticationToken is a string. More...
 

Detailed Description

An AzureBus<TAuthenticationToken> that uses Azure Service Event Hubs.

Template Parameters
TAuthenticationTokenThe Type of the authentication token.