public ChannelCallbackInvoker()

in src/Elastic.Channels/Diagnostics/IChannelCallbacks.cs [72:144]


	public ChannelCallbackInvoker(ICollection<IChannelCallbacks<TEvent, TResponse>> channelCallbacks)
	{
		ExportExceptionCallback = channelCallbacks
			.Select(e => e.ExportExceptionCallback)
			.Where(e => e != null)
			.Aggregate(ExportExceptionCallback, (s, f) => s + f);

		ExportItemsAttemptCallback = channelCallbacks
			.Select(e => e.ExportItemsAttemptCallback)
			.Where(e => e != null)
			.Aggregate(ExportItemsAttemptCallback, (s, f) => s + f);

		ExportMaxRetriesCallback = channelCallbacks
			.Select(e => e.ExportMaxRetriesCallback)
			.Where(e => e != null)
			.Aggregate(ExportMaxRetriesCallback, (s, f) => s + f);

		ExportRetryCallback = channelCallbacks
			.Select(e => e.ExportRetryCallback)
			.Where(e => e != null)
			.Aggregate(ExportRetryCallback, (s, f) => s + f);

		ExportResponseCallback = channelCallbacks
			.Select(e => e.ExportResponseCallback)
			.Where(e => e != null)
			.Aggregate(ExportResponseCallback, (s, f) => s + f);

		ExportBufferCallback = channelCallbacks
			.Select(e => e.ExportBufferCallback)
			.Where(e => e != null)
			.Aggregate((Action?)null, (s, f) => s + f);

		ExportRetryableCountCallback = channelCallbacks
			.Select(e => e.ExportRetryableCountCallback)
			.Where(e => e != null)
			.Aggregate(ExportRetryableCountCallback, (s, f) => s + f);


		PublishToInboundChannelCallback = channelCallbacks
			.Select(e => e.PublishToInboundChannelCallback)
			.Where(e => e != null)
			.Aggregate((Action?)null, (s, f) => s + f);

		PublishToInboundChannelFailureCallback = channelCallbacks
			.Select(e => e.PublishToInboundChannelFailureCallback)
			.Where(e => e != null)
			.Aggregate((Action?)null, (s, f) => s + f);

		PublishToOutboundChannelCallback = channelCallbacks
			.Select(e => e.PublishToOutboundChannelCallback)
			.Where(e => e != null)
			.Aggregate((Action?)null, (s, f) => s + f);

		OutboundChannelStartedCallback = channelCallbacks
			.Select(e => e.OutboundChannelStartedCallback)
			.Where(e => e != null)
			.Aggregate((Action?)null, (s, f) => s + f);

		OutboundChannelExitedCallback = channelCallbacks
			.Select(e => e.OutboundChannelExitedCallback)
			.Where(e => e != null)
			.Aggregate((Action?)null, (s, f) => s + f);

		InboundChannelStartedCallback = channelCallbacks
			.Select(e => e.InboundChannelStartedCallback)
			.Where(e => e != null)
			.Aggregate((Action?)null, (s, f) => s + f);

		PublishToOutboundChannelFailureCallback = channelCallbacks
			.Select(e => e.PublishToOutboundChannelFailureCallback)
			.Where(e => e != null)
			.Aggregate((Action?)null, (s, f) => s + f);
	}