/// <summary> /// Register segmentation strategy, /// Segmentation responsible of splitting an instance into segments. /// Segments is how the producer sending its raw data to /// the consumer. It's in a form of dictionary when /// keys represent the different segments /// and the value represent serialized form of the segment's data. /// </summary> /// <param name="segmentationStrategy">A strategy of segmentation.</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> /// <example> /// Examples for segments can be driven from regulation like /// GDPR (personal, non-personal data), /// Technical vs Business aspects, etc. /// </example> IProducerHooksBuilder IProducerHooksBuilder.UseSegmentation(IProducerSegmentationStrategy segmentationStrategy) { var asyncImp = new ProducerSegmentationStrategyBridge(segmentationStrategy); var prms = Plan.AddSegmentation(asyncImp); return(new ProducerBuilder(prms)); }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="sync">The synchronize.</param> public ProducerSegmentationStrategyBridge( IProducerSegmentationStrategy sync) { _sync = sync; }