/// <summary> /// Reset the poller to dispatch the descriptors returned from a query. /// </summary> /// <param name="correlationId"> for the response. </param> /// <param name="recordCount"> of descriptors to expect. </param> /// <param name="consumer"> to which the recording descriptors are to be dispatched. </param> public void Reset(long correlationId, int recordCount, IRecordingDescriptorConsumer consumer) { this.correlationId = correlationId; this.consumer = consumer; this.remainingRecordCount = recordCount; isDispatchComplete = false; }
/// <summary> /// Dispatch a descriptor message to a consumer by reading the fields in the correct order. /// </summary> /// <param name="decoder"> which wraps the encoded message ready for reading. </param> /// <param name="consumer"> to which the decoded fields should be passed. </param> public static void DispatchDescriptor(RecordingDescriptorDecoder decoder, IRecordingDescriptorConsumer consumer) { consumer.OnRecordingDescriptor( decoder.ControlSessionId(), decoder.CorrelationId(), decoder.RecordingId(), decoder.StartTimestamp(), decoder.StopTimestamp(), decoder.StartPosition(), decoder.StopPosition(), decoder.InitialTermId(), decoder.SegmentFileLength(), decoder.TermBufferLength(), decoder.MtuLength(), decoder.SessionId(), decoder.StreamId(), decoder.StrippedChannel(), decoder.OriginalChannel(), decoder.SourceIdentity()); }