Packages
BETA support for interacting with a NATS streaming server
Retired package: Renamed - Merged into the main nats.ex (gnat) library. Use Gnat.Jetstream from the :gnat package instead.
Current section
Files
Jump to
Current section
Files
lib/gnat/streaming/message.ex
defmodule Gnat.Streaming.Message do
@enforce_keys [
:ack_subject,
:connection_pid,
:data,
:redelivered,
:reply,
:sequence,
:subject,
:timestamp
]
defstruct [
:ack_subject,
:connection_pid,
:data,
:redelivered,
:reply,
:sequence,
:subject,
:timestamp
]
alias Gnat.Streaming.Protocol.Ack
def ack(%__MODULE__{} = message) do
%__MODULE__{
ack_subject: ack_subject,
connection_pid: pid,
sequence: sequence,
subject: subject
} = message
ack = Ack.new(subject: subject, sequence: sequence) |> Ack.encode()
Gnat.pub(pid, ack_subject, ack)
end
end