ORE Studio
0.0.4
Loading...
Searching...
No Matches
projects
ores.nats
include
ores.nats
service
subscription.hpp
1
/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2
*
3
* Copyright (C) 2026 Marco Craveiro <marco.craveiro@gmail.com>
4
*
5
* This program is free software; you can redistribute it and/or modify it under
6
* the terms of the GNU General Public License as published by the Free Software
7
* Foundation; either version 3 of the License, or (at your option) any later
8
* version.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT
11
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13
* details.
14
*
15
* You should have received a copy of the GNU General Public License along with
16
* this program; if not, write to the Free Software Foundation, Inc., 51
17
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
*
19
*/
20
#ifndef ORES_NATS_SERVICE_SUBSCRIPTION_HPP
21
#define ORES_NATS_SERVICE_SUBSCRIPTION_HPP
22
23
#include <memory>
24
#include <string>
25
26
namespace
ores::nats::service {
27
41
class
[[nodiscard]]
subscription
{
42
public
:
43
~subscription
();
44
45
subscription
(
subscription
&&)
noexcept
;
46
subscription
& operator=(
subscription
&&)
noexcept
;
47
48
subscription
(
const
subscription
&) =
delete
;
49
subscription
& operator=(
const
subscription
&) =
delete
;
50
54
std::string subject()
const
;
55
62
void
drain();
63
64
public
:
65
// Internal: constructed only by client
66
struct
impl;
67
explicit
subscription
(std::unique_ptr<impl> i);
68
69
private
:
70
std::unique_ptr<impl> impl_;
71
};
72
73
}
74
75
#endif
ores::nats::service::subscription
RAII handle for a NATS subscription.
Definition
subscription.hpp:41
Generated by
1.9.8