Package com.mimecast.robin.queue
Class RelayDequeue
java.lang.Object
com.mimecast.robin.queue.RelayDequeue
Processes claimed relay queue items.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.apache.logging.log4j.Loggerprivate final PooledLmtpDeliveryprivate final PersistentQueue<RelaySession> private static final AtomicLongprivate final StalwartDirectDelivery -
Constructor Summary
ConstructorsConstructorDescriptionRelayDequeue(PersistentQueue<RelaySession> queue) RelayDequeue(PersistentQueue<RelaySession> queue, PooledLmtpDelivery pooledLmtpDelivery) RelayDequeue(PersistentQueue<RelaySession> queue, PooledLmtpDelivery pooledLmtpDelivery, StalwartDirectDelivery stalwartDirectDelivery) -
Method Summary
Modifier and TypeMethodDescription(package private) voidattemptDelivery(RelaySession relaySession) (package private) voidcleanupSuccessfulEnvelopes(List<MessageEnvelope> successfulEnvelopes) collectCleanupPaths(List<MessageEnvelope> successfulEnvelopes) (package private) intcountRecipients(RelaySession relaySession) (package private) RelaySessioncreateBounceSession(RelaySession originalSession, String recipient) (package private) voiddeleteEnvelopeFiles(List<Path> paths) private StringderiveLastError(RelaySession relaySession) (package private) List<RelaySession> generateBounces(RelaySession relaySession) static long(package private) booleanhasPermanentFailuresOnly(RelaySession relaySession) Checks if all errors are permanent 5xx SMTP failures (ESMTP protocol only).(package private) booleanisReadyForRetry(RelaySession relaySession, long currentEpochSeconds) private voidlogSessionInfo(RelaySession relaySession) processClaimedItem(QueueItem<RelaySession> queueItem, long currentEpochSeconds) Processes one claimed queue item and returns a deferred mutation result.(package private) RelayDeliveryResultprocessDeliveryResults(RelaySession relaySession) (package private) RelayQueueWorkResultretrySession(QueueItem<RelaySession> queueItem, RelaySession relaySession, long currentEpochSeconds, List<Path> cleanupPaths)
-
Field Details
-
log
private static final org.apache.logging.log4j.Logger log -
RESCHEDULE_COUNT
-
queue
-
pooledLmtpDelivery
-
stalwartDirectDelivery
-
-
Constructor Details
-
RelayDequeue
-
RelayDequeue
RelayDequeue(PersistentQueue<RelaySession> queue, PooledLmtpDelivery pooledLmtpDelivery) -
RelayDequeue
RelayDequeue(PersistentQueue<RelaySession> queue, PooledLmtpDelivery pooledLmtpDelivery, StalwartDirectDelivery stalwartDirectDelivery)
-
-
Method Details
-
processClaimedItem
public RelayQueueWorkResult processClaimedItem(QueueItem<RelaySession> queueItem, long currentEpochSeconds) Processes one claimed queue item and returns a deferred mutation result. -
isReadyForRetry
-
countRecipients
-
attemptDelivery
-
processDeliveryResults
-
collectCleanupPaths
-
cleanupSuccessfulEnvelopes
-
deleteEnvelopeFiles
-
retrySession
RelayQueueWorkResult retrySession(QueueItem<RelaySession> queueItem, RelaySession relaySession, long currentEpochSeconds, List<Path> cleanupPaths) -
getRescheduleCount
public static long getRescheduleCount() -
generateBounces
-
createBounceSession
-
hasPermanentFailuresOnly
Checks if all errors are permanent 5xx SMTP failures (ESMTP protocol only). When true, the item should be marked dead without retry.- Parameters:
relaySession- The relay session to check.- Returns:
- True if all failures are permanent 5xx.
-
logSessionInfo
-
deriveLastError
-