public List<Snapshot> Run(IPolicyEngineFactory agent, ProcessLevel level, RunAt runAt, bool forceGc) { GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); IContentScanner scanner = agent.CreateContentScanner(null); IContentEnforcer enforcer = m_Enforce ? agent.CreateContentEnforcer(null) : null; List<Snapshot> snapshots = new List<Snapshot>(); for (int iteration = 0; iteration < m_Iterations; ++iteration) { snapshots.Add(new Snapshot("PreLoadRequest", forceGc)); Request request = ContractSerialization.LoadRequest(m_RequestPath); snapshots.Add(new Snapshot("PreScan", forceGc)); Response response = scanner.Scan(request, null, level, runAt); if (enforcer != null) { snapshots.Add(new Snapshot("PreEnforce", forceGc)); enforcer.Enforce(request, response); snapshots.Add(new Snapshot("PostEnforce", forceGc)); } else { snapshots.Add(new Snapshot("PostScan", forceGc)); } } snapshots.Add(new Snapshot("PostGcFinal", true)); return snapshots; }
protected override IPolicyCache GetPolicyCache() { if (null == m_factory) { m_factory = new PolicyEngineFactory(); } return m_factory.PolicyCacheInstance; }
protected override IContentEnforcer GetContentEnforcer(IProgressCallback eventSink) { if (null == m_factory) { m_factory = new PolicyEngineFactory(); } return m_factory.CreateContentEnforcer(eventSink); }
protected override IContentScanner GetContentScanner() { if (null == m_factory) { m_factory = new PolicyEngineFactory(); } return m_factory.CreateContentScanner(null); }
private IPolicyCache GetPolicyCache() { if (null == m_factory) { m_factory = new PolicyEngineFactory(); } return m_factory.PolicyCacheInstance; }
/// <summary> /// Actually initializes the ContentScanner engine /// </summary> public static void InitializeEngine() { //m_contentScannerEvents = null; //Create an IPolicyCache service interface. //Pass it to a policy processor. if (null == m_factory) { m_factory = new PolicyEngineFactory(); } }