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}