public StateInspectorOutput(LogSourcePostprocessorDeserializationParams p, ILogPartTokenFactories rotatedLogPartFactories) { this.logSource = p.LogSource; if (!p.Reader.ReadToFollowing("root")) { throw new FormatException(); } etag.Read(p.Reader); var eventsDeserializer = new EventsDeserializer(TextLogEventTrigger.DeserializerFunction); foreach (var elt in p.Reader.ReadChildrenElements()) { if (eventsDeserializer.TryDeserialize(elt, out var evt)) { events.Add(evt); } else if (rotatedLogPartFactories.TryReadLogPartToken(elt, out var tmp)) { this.rotatedLogPartToken = tmp; } p.Cancellation.ThrowIfCancellationRequested(); } }
public PostprocessorOutput( LogSourcePostprocessorDeserializationParams p, ILogPartTokenFactories rotatedLogPartFactories, ISameNodeDetectionTokenFactories nodeDetectionTokenFactories) { this.logSource = p.LogSource; var reader = p.Reader; events = new List <M.Event>(); rotatedLogPartToken = new NullLogPartToken(); sameNodeDetectionToken = new NullSameNodeDetectionToken(); if (!reader.ReadToFollowing("root")) { throw new FormatException(); } etag.Read(reader); foreach (var elt in p.Reader.ReadChildrenElements()) { if (rotatedLogPartFactories.TryReadLogPartToken(elt, out var tmp)) { this.rotatedLogPartToken = tmp; } else if (nodeDetectionTokenFactories.TryReadLogPartToken(elt, out var tmp2)) { sameNodeDetectionToken = tmp2; } else if (elt.Name == messagingEventsElementName) { var eventsDeserializer = new M.EventsDeserializer(TextLogEventTrigger.DeserializerFunction); foreach (var me in elt.Elements()) { if (eventsDeserializer.TryDeserialize(me, out var evt)) { events.Add(evt); } } } p.Cancellation.ThrowIfCancellationRequested(); } }