private bool AdvanceDataPipeline(IRIFReportDataScope reportDataScope, PipelineAdvanceMode pipelineMode) { m_lastOnDemandScopeInstance = null; DataPipelineThrottle pipelineThrottle = SetupUsablePipelineContextWithBackup(); m_pipelineThrottle.StartUsingContext(pipelineMode, reportDataScope); bool isTablixProcessingMode = m_odpContext.IsTablixProcessingMode; bool num = m_odpContext.ExecutionLogContext.TryStartTablixProcessingTimer(); m_odpContext.IsTablixProcessingMode = true; if (reportDataScope.DataScopeInfo.DataPipelineID != m_pipelineManager.DataSetIndex) { m_odpContext.StateManager.GetIdcDataManager(reportDataScope).Advance(); } else { m_pipelineManager.Advance(); } m_odpContext.IsTablixProcessingMode = isTablixProcessingMode; if (num) { m_odpContext.ExecutionLogContext.StopTablixProcessingTimer(); } bool result = m_pipelineThrottle.StopUsingContext(); m_pipelineThrottle = pipelineThrottle; return(result); }
public void StartUsingContext(PipelineAdvanceMode mode, IRIFReportDataScope targetScope) { m_inUse = true; m_metStoppingCondition = false; m_anyScopeInstanceCreated = false; m_stoppingScopeInstanceCreated = false; m_pipelineMode = mode; m_targetScopeForDataProcessing = targetScope; }