MCPcopy Create free account
hub / github.com/ceph/ceph / Destructo

Class Destructo

src/test/common/test_ceph_timer.cc:73–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71}
72
73struct Destructo {
74 bool armed = true;
75 std::promise<void> p;
76
77 Destructo(std::promise<void>&& p) : p(std::move(p)) {}
78 Destructo(const Destructo&) = delete;
79 Destructo& operator =(const Destructo&) = delete;
80 Destructo(Destructo&& rhs) {
81 p = std::move(rhs.p);
82 armed = rhs.armed;
83 rhs.armed = false;
84 }
85 Destructo& operator =(Destructo& rhs) {
86 p = std::move(rhs.p);
87 rhs.armed = false;
88 armed = rhs.armed;
89 rhs.armed = false;
90 return *this;
91 }
92
93 ~Destructo() {
94 if (armed)
95 p.set_value();
96 }
97 void operator ()() const {
98 FAIL();
99 }
100};
101
102template<typename TC>
103void cancel_all()

Callers 2

cancel_allFunction · 0.85
cancellationFunction · 0.85

Calls

no outgoing calls

Tested by 2

cancel_allFunction · 0.68
cancellationFunction · 0.68