#[non_exhaustive]pub struct DeadLetterPolicy {
pub dead_letter_topic: String,
pub max_delivery_attempts: i32,
/* private fields */
}Expand description
Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times.
If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.dead_letter_topic: StringOptional. The name of the topic to which dead letter messages should be
published. Format is projects/{project}/topics/{topic}.The Pub/Sub
service account associated with the enclosing subscription’s parent project
(i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must
have permission to Publish() to this topic.
The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost.
max_delivery_attempts: i32Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100.
The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgment deadline has been exceeded for the message).
A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines.
This field will be honored on a best effort basis.
If this parameter is 0, a default value of 5 is used.
Implementations§
Source§impl DeadLetterPolicy
impl DeadLetterPolicy
pub fn new() -> Self
Sourcepub fn set_dead_letter_topic<T: Into<String>>(self, v: T) -> Self
pub fn set_dead_letter_topic<T: Into<String>>(self, v: T) -> Self
Sets the value of dead_letter_topic.
§Example
let x = DeadLetterPolicy::new().set_dead_letter_topic("example");Sourcepub fn set_max_delivery_attempts<T: Into<i32>>(self, v: T) -> Self
pub fn set_max_delivery_attempts<T: Into<i32>>(self, v: T) -> Self
Sets the value of max_delivery_attempts.
§Example
let x = DeadLetterPolicy::new().set_max_delivery_attempts(42);Trait Implementations§
Source§impl Clone for DeadLetterPolicy
impl Clone for DeadLetterPolicy
Source§fn clone(&self) -> DeadLetterPolicy
fn clone(&self) -> DeadLetterPolicy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DeadLetterPolicy
impl Debug for DeadLetterPolicy
Source§impl Default for DeadLetterPolicy
impl Default for DeadLetterPolicy
Source§fn default() -> DeadLetterPolicy
fn default() -> DeadLetterPolicy
Source§impl Message for DeadLetterPolicy
impl Message for DeadLetterPolicy
Source§impl PartialEq for DeadLetterPolicy
impl PartialEq for DeadLetterPolicy
impl StructuralPartialEq for DeadLetterPolicy
Auto Trait Implementations§
impl Freeze for DeadLetterPolicy
impl RefUnwindSafe for DeadLetterPolicy
impl Send for DeadLetterPolicy
impl Sync for DeadLetterPolicy
impl Unpin for DeadLetterPolicy
impl UnwindSafe for DeadLetterPolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request