public override void Execute() { ExTraceGlobals.IncrementalReseederTracer.TraceDebug <Guid>((long)this.GetHashCode(), "SeedPageReaderRollLogFileRequest: databaseGuid ({0}).", base.DatabaseGuid); bool flag = false; ReplayStopwatch replayStopwatch = new ReplayStopwatch(); try { SeederPageReaderServerContext seederPageReaderServerContext = base.Channel.GetSeederPageReaderServerContext(this.m_databaseName, this.m_databasePath); replayStopwatch.Start(); seederPageReaderServerContext.DatabaseReader.ForceNewLog(); SeedPageReaderRollLogFileReply seedPageReaderRollLogFileReply = new SeedPageReaderRollLogFileReply(base.Channel); ExTraceGlobals.IncrementalReseederTracer.TraceDebug <Guid>((long)this.GetHashCode(), "SeedPageReaderRollLogFileRequest. Sending the response for {0}.", base.DatabaseGuid); seedPageReaderRollLogFileReply.Send(); flag = true; } catch (TransientException ex) { base.Channel.SendException(ex); } catch (IOException ex2) { base.Channel.SendException(ex2); } finally { ExTraceGlobals.IncrementalReseederTracer.TraceDebug <long, string>((long)this.GetHashCode(), "SeedPageReaderRollLogFile finished rolling a log file after {0} sec. Operation successful: {1}", replayStopwatch.ElapsedMilliseconds / 1000L, flag.ToString()); } }
public override void Execute() { ExTraceGlobals.IncrementalReseederTracer.TraceDebug <Guid, uint>((long)this.GetHashCode(), "SeedPageReaderSinglePageRequest: databaseGuid ({0}), pageno ({1}).", base.DatabaseGuid, this.m_pageno); bool flag = false; ReplayStopwatch replayStopwatch = new ReplayStopwatch(); try { SeederPageReaderServerContext seederPageReaderServerContext = base.Channel.GetSeederPageReaderServerContext(this.m_databaseName, this.m_databasePath); replayStopwatch.Start(); ExTraceGlobals.IncrementalReseederTracer.TraceDebug <uint, Guid>((long)this.GetHashCode(), "SeedPageReaderSinglePageRequest. Reading page {0} from {1}.", this.m_pageno, base.DatabaseGuid); long lowGeneration; long highGeneration; byte[] pageBytes = seederPageReaderServerContext.DatabaseReader.ReadOnePage((long)((ulong)this.m_pageno), out lowGeneration, out highGeneration); SeedPageReaderSinglePageReply seedPageReaderSinglePageReply = new SeedPageReaderSinglePageReply(base.Channel); seedPageReaderSinglePageReply.PageNumber = (long)((ulong)this.m_pageno); seedPageReaderSinglePageReply.LowGeneration = lowGeneration; seedPageReaderSinglePageReply.HighGeneration = highGeneration; seedPageReaderSinglePageReply.PageBytes = pageBytes; ExTraceGlobals.IncrementalReseederTracer.TraceDebug <Guid>((long)this.GetHashCode(), "SeedPageReaderSinglePageRequest. Sending the data for {0}.", base.DatabaseGuid); seedPageReaderSinglePageReply.Send(); flag = true; } catch (TransientException ex) { base.Channel.SendException(ex); } catch (IOException ex2) { base.Channel.SendException(ex2); } finally { ExTraceGlobals.IncrementalReseederTracer.TraceDebug <uint, long, string>((long)this.GetHashCode(), "SeedPageReader finished reading and sending page {0} after {1} sec. Operation successful: {2}", this.m_pageno, replayStopwatch.ElapsedMilliseconds / 1000L, flag.ToString()); } }
// Token: 0x06000BB4 RID: 2996 RVA: 0x00034570 File Offset: 0x00032770 public override void Execute() { SeedPageReaderMultiplePageRequest.Tracer.TraceDebug <Guid, long>((long)this.GetHashCode(), "SeedPageReaderMultiplePageRequest: databaseGuid ({0}), numPages ({1}).", base.DatabaseGuid, this.m_numPages); bool flag = false; ReplayStopwatch replayStopwatch = new ReplayStopwatch(); Exception ex = null; int i = (int)this.m_numPages; byte[] array = new byte[4]; try { SeederPageReaderServerContext seederPageReaderServerContext = base.Channel.GetSeederPageReaderServerContext(this.m_databaseName, this.m_databasePath); replayStopwatch.Start(); while (i > 0) { base.Channel.Read(array, 0, 4); i--; uint num = BitConverter.ToUInt32(array, 0); long lowGeneration; long highGeneration; byte[] pageBytes = seederPageReaderServerContext.DatabaseReader.ReadOnePage((long)((ulong)num), out lowGeneration, out highGeneration); new SeedPageReaderSinglePageReply(base.Channel) { PageNumber = (long)((ulong)num), LowGeneration = lowGeneration, HighGeneration = highGeneration, PageBytes = pageBytes }.Send(); } flag = true; } catch (JetErrorFileIOBeyondEOFException ex2) { ex = ex2; } catch (FailedToReadDatabasePage failedToReadDatabasePage) { ex = failedToReadDatabasePage; } catch (NetworkTransportException ex3) { ex = ex3; } finally { SeedPageReaderMultiplePageRequest.Tracer.TraceDebug <long, long, string>((long)this.GetHashCode(), "SeedPageReader finished reading and sending {0} pages after {1} sec. Operation successful: {2}", this.m_numPages, replayStopwatch.ElapsedMilliseconds / 1000L, flag.ToString()); } if (!flag) { SeedPageReaderMultiplePageRequest.Tracer.TraceError <Exception>((long)this.GetHashCode(), "SeedPageReaderMultiplePageRequest.Execute failed: {0}", ex); if (ex is NetworkTransportException) { base.Channel.KeepAlive = false; return; } base.Channel.SendException(ex); while (i > 0) { base.Channel.Read(array, 0, 4); i--; } } }