// Token: 0x0600003F RID: 63 RVA: 0x00004116 File Offset: 0x00002316 internal LatencyRecord(LatencyTracker latencyTracker, LatencyComponent latencyComponent) { this.latencyTracker = latencyTracker; this.latencyComponent = latencyComponent; }
// Token: 0x0600002B RID: 43 RVA: 0x000037F4 File Offset: 0x000019F4 private static void BeginTrackLatency(MapiEvent mapiEvent, LatencyTracker latencyTracker, LatencyComponent latencyComponent) { MailboxTransportSubmissionAssistant.LatencyRecord value = new MailboxTransportSubmissionAssistant.LatencyRecord(latencyTracker, latencyComponent); MailboxTransportSubmissionAssistant.eventCounterToLatencyMap[mapiEvent.EventCounter] = value; LatencyTracker.BeginTrackLatency(latencyComponent, latencyTracker); }
public override void AckMailItem(AckStatus ackStatus, SmtpResponse smtpResponse, AckDetails details, TimeSpan?retryInterval, MessageTrackingSource source, string messageTrackingSourceContext, LatencyComponent deliveryComponent, string remoteMta, bool shadowed, string primaryServer, bool reportEndToEndLatencies) { if (this.recipientsPending != 0 && ackStatus == AckStatus.Success) { throw new InvalidOperationException("Cannot ack message successfully until all pending recipients have been acked"); } if (ackStatus == AckStatus.Pending) { this.recipientsPending = this.readyRecipients.Count; this.recipientEnumerator = this.mailItem.Recipients.GetEnumerator(); this.recipientEnumeratorAck = this.mailItem.Recipients.GetEnumerator(); this.result = null; } else { if (this.result == null) { this.result = new SmtpMailItemResult(); } this.result.MessageResponse = new AckStatusAndResponse(ackStatus, smtpResponse); this.mailItemSentForProcessing = true; } if (this.notificationHandler != null) { this.notificationHandler.AckMessage(ackStatus, smtpResponse); } }
public void TrackSuccessfulConnectLatency(LatencyComponent connectComponent) { LatencyTracker.EndAndBeginTrackLatency(connectComponent, LatencyComponent.Delivery, this.mailItem.LatencyTracker); }
public void FinalizeDeliveryLatencyTracking(LatencyComponent deliveryComponent) { LatencyTracker.EndTrackLatency(LatencyComponent.Delivery, deliveryComponent, this.mailItem.LatencyTracker); }
public void TrackSuccessfulConnectLatency(LatencyComponent connectComponent) { LatencyTracker.EndTrackLatency(LatencyComponent.MailboxTransportSubmissionStoreDriverSubmissionSmtp, connectComponent, this.LatencyTracker); LatencyTracker.BeginTrackLatency(LatencyComponent.MailboxTransportSubmissionStoreDriverSubmissionSmtp, this.LatencyTracker); }