async_nats/jetstream/
publish.rs

1// Copyright 2020-2022 The NATS Authors
2// Licensed under the Apache License, Version 2.0 (the "License");
3// you may not use this file except in compliance with the License.
4// You may obtain a copy of the License at
5//
6// http://www.apache.org/licenses/LICENSE-2.0
7//
8// Unless required by applicable law or agreed to in writing, software
9// distributed under the License is distributed on an "AS IS" BASIS,
10// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11// See the License for the specific language governing permissions and
12// limitations under the License.
13//
14//! Publish `JetStream` messages.
15use serde::Deserialize;
16
17/// `PublishAck` is an acknowledgment received after successfully publishing a message.
18#[derive(Debug, Default, Deserialize, Clone, PartialEq, Eq)]
19pub struct PublishAck {
20    /// Name of stream the message was published to.
21    pub stream: String,
22    /// Sequence number the message was published in.
23    #[serde(rename = "seq")]
24    pub sequence: u64,
25    /// Domain the message was published to
26    #[serde(default)]
27    pub domain: String,
28    /// True if the published message was determined to be a duplicate, false otherwise.
29    #[serde(default)]
30    pub duplicate: bool,
31}