package de.assecutor.votianlt.messaging.model;

/**
 * Status of a message delivery attempt.
 */
public enum DeliveryStatus {
    /**
     * Message is queued but not yet sent
     */
    PENDING,
    
    /**
     * Message has been sent to the transport layer
     */
    SENT,
    
    /**
     * Client has acknowledged receipt of the message
     */
    ACKNOWLEDGED,
    
    /**
     * Delivery failed after all retry attempts
     */
    FAILED,
    
    /**
     * Message expired before delivery could be confirmed
     */
    EXPIRED
}

