public static GetHttpMessageHandlerFactory ( bool verbose, string catalogBaseAddress = null, string storageBaseAddress = null ) : Func |
||
verbose | bool | |
catalogBaseAddress | string | |
storageBaseAddress | string | |
return | Func |
public static Func<HttpMessageHandler> GetHttpMessageHandlerFactory(bool verbose, string catalogBaseAddress = null, string storageBaseAddress = null)
{
Func<HttpMessageHandler> handlerFunc = null;
if (verbose)
{
handlerFunc =
() =>
catalogBaseAddress != null
? new VerboseHandler(new StorageAccessHandler(catalogBaseAddress, storageBaseAddress))
: new VerboseHandler();
}
return handlerFunc;
}
}
static async Task Loop(string source, string registration, Lucene.Net.Store.Directory directory, string catalogBaseAddress, string storageBaseAddress, bool verbose, int interval) { Func <HttpMessageHandler> handlerFunc = CommandHelpers.GetHttpMessageHandlerFactory(verbose, catalogBaseAddress, storageBaseAddress); CommitCollector collector = new SearchIndexFromCatalogCollector(new Uri(source), directory, catalogBaseAddress, handlerFunc); ReadWriteCursor front = new LuceneCursor(directory, MemoryCursor.Min.Value); ReadCursor back = (registration == null) ? (ReadCursor)MemoryCursor.Max : new HttpReadCursor(new Uri(registration), handlerFunc); while (true) { bool run = false; do { run = await collector.Run(front, back); }while (run); Thread.Sleep(interval * 1000); } }