public AudienceBasedConversationAggregator(IMailboxOwner mailboxOwner, bool scenarioSupportsSearchForDuplicatedMessages, IAggregationByItemClassReferencesSubjectProcessor referencesProcessor, IAggregationByParticipantProcessor participantProcessor, IConversationAggregationDiagnosticsFrame diagnosticsFrame) : base(referencesProcessor)
 {
     this.mailboxOwner         = mailboxOwner;
     this.participantProcessor = participantProcessor;
     this.diagnosticsFrame     = diagnosticsFrame;
     this.scenarioSupportsSearchForDuplicatedMessages = scenarioSupportsSearchForDuplicatedMessages;
 }
 public ConversationAggregatorFactory(IMailboxSession session, IMailboxOwner mailboxOwner, IXSOFactory xsoFactory, ConversationIndexTrackingEx indexTrackingEx)
 {
     this.mailboxOwner    = mailboxOwner;
     this.session         = session;
     this.xsoFactory      = xsoFactory;
     this.indexTrackingEx = indexTrackingEx;
 }
예제 #3
0
 public void LogMailboxOwnerData(IMailboxOwner owner, bool shouldSearchForDuplicatedMessage)
 {
     this.LogEvent(new SchemaBasedLogEvent <ConversationAggregationLogSchema.MailboxOwnerData>
     {
         {
             ConversationAggregationLogSchema.MailboxOwnerData.IsGroupMailbox,
             owner.IsGroupMailbox
         },
         {
             ConversationAggregationLogSchema.MailboxOwnerData.SideConversationProcessingEnabled,
             owner.SideConversationProcessingEnabled
         },
         {
             ConversationAggregationLogSchema.MailboxOwnerData.SearchDuplicatedMessages,
             shouldSearchForDuplicatedMessage
         }
     });
 }
 public ThreadedConversationAggregator(IMailboxOwner mailboxOwner, bool scenarioSupportsSearchForDuplicatedMessages, IAggregationByItemClassReferencesSubjectProcessor referencesProcessor, IAggregationByParticipantProcessor participantProcessor, IConversationAggregationDiagnosticsFrame diagnosticsFrame) : base(mailboxOwner, scenarioSupportsSearchForDuplicatedMessages, referencesProcessor, participantProcessor, diagnosticsFrame)
 {
 }
        public static bool TryInstantiateAggregatorForDelivery(IMailboxSession session, IMailboxOwner mailboxOwner, ConversationIndexTrackingEx indexTrackingEx, out IConversationAggregator aggregator)
        {
            ConversationAggregatorFactory conversationAggregatorFactory = new ConversationAggregatorFactory(session, mailboxOwner, XSOFactory.Default, indexTrackingEx);

            return(conversationAggregatorFactory.TryInstantiateAggregatorForDelivery(out aggregator));
        }