20#ifndef ORES_NATS_SERVICE_JETSTREAM_ADMIN_HPP
21#define ORES_NATS_SERVICE_JETSTREAM_ADMIN_HPP
27#include "ores.nats/domain/consumer_info.hpp"
28#include "ores.nats/domain/stream_info.hpp"
29#include "ores.nats/domain/stream_message.hpp"
31namespace ores::nats::service {
69 [[nodiscard]] std::vector<domain::stream_info>
list_streams();
89 [[nodiscard]] std::vector<domain::consumer_info>
100 peek_message(std::string_view stream_name, std::uint64_t sequence);
107 std::string_view subject);
114 void delete_message(std::string_view stream_name, std::uint64_t sequence);
122 void publish(std::string_view subject, std::string_view payload);
Metadata for a JetStream stream.
Definition stream_info.hpp:36
A message stored in a JetStream stream.
Definition stream_message.hpp:38
JetStream management API.
Definition jetstream_admin.hpp:53
void delete_message(std::string_view stream_name, std::uint64_t sequence)
Delete a message by sequence number.
Definition jetstream_admin.cpp:242
void purge_stream(std::string_view name)
Purge all messages from a stream (non-destructive to the stream itself — consumers and configuration ...
Definition jetstream_admin.cpp:136
domain::stream_info get_stream(std::string_view name)
Get metadata for a single stream by name.
Definition jetstream_admin.cpp:119
std::vector< domain::stream_info > list_streams()
List all streams on the connected NATS server.
Definition jetstream_admin.cpp:98
std::vector< domain::consumer_info > list_consumers(std::string_view stream_name)
List all consumers for a stream.
Definition jetstream_admin.cpp:153
domain::stream_message peek_message(std::string_view stream_name, std::uint64_t sequence)
Peek at a message by sequence number (non-destructive).
Definition jetstream_admin.cpp:180
domain::stream_message peek_last_message(std::string_view stream_name, std::string_view subject)
Peek at the last message published to a subject (non-destructive).
Definition jetstream_admin.cpp:210
void publish(std::string_view subject, std::string_view payload)
Publish a message to a JetStream subject.
Definition jetstream_admin.cpp:255