message: Add AckKind public type
diff: @@ -382,6 +382,41 @@ pub(crate) struct PubAck {
  pub duplicate: Option<bool>,
  }
  +/// The kinds of response used for acknowledging a processed message.
  +#[derive(Debug, Clone, Copy)]
  +pub enum AckKind {
  + /// Acknowledges a message was completely handled.
  + Ack,
  + /// Signals that the message will not be processed now
  + /// and processing can move onto the next message, NAK'd
  + /// message will be retried.
  + Nak,
  + /// When sent before the AckWait period indicates that
  + /// work is ongoing and the period should be extended by
  + /// another equal to AckWait.
  + Progress,
  + /// Acknowledges the message was handled and requests
  + /// delivery of the next message to the reply subject.
  + /// Only applies to Pull-mode.
  + Next,
  + /// Instructs the server to stop redelivery of a message
  + /// without acknowledging it as successfully processed.
  + Term,
  +}
  +
  +impl AsRef<[u8]> for AckKind {
  + fn as_ref(&self) -> &[u8] {
  + use AckKind::*;
  + match self {
  + Ack => b"+ACK",
  + Nak => b"-NAK",
  + Progress => b"+WPI",
  + Next => b"+NXT",
  + Term => b"+TERM",
  + }
  + }
  +}
  +
  /// Information about a consumer
  #[derive(Debug, Default, Serialize, Deserialize, Clone)]
  pub struct ConsumerInfo {
  