Skip to content

Commit 8b91c24

Browse files
committed
python: make callbacks noexcept
1 parent dbebaae commit 8b91c24

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

include/opendht/callbacks.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@ using CertificateStoreQuery = std::function<std::vector<std::shared_ptr<crypto::
176176
using DoneCallback = std::function<void(bool success, const std::vector<std::shared_ptr<Node>>& nodes)>;
177177
using DoneCallbackSimple = std::function<void(bool success)>;
178178

179-
typedef bool (*GetCallbackRaw)(std::shared_ptr<Value>, void *user_data) noexcept(false);
180-
typedef bool (*ValueCallbackRaw)(std::shared_ptr<Value>, bool expired, void *user_data) noexcept(false);
181-
typedef void (*DoneCallbackRaw)(bool, std::vector<std::shared_ptr<Node>>*, void *user_data) noexcept(false);
182-
typedef void (*ShutdownCallbackRaw)(void *user_data) noexcept(false);
183-
typedef void (*DoneCallbackSimpleRaw)(bool, void *user_data) noexcept(false);
184-
typedef bool (*FilterRaw)(const Value&, void *user_data) noexcept(false);
179+
typedef bool (*GetCallbackRaw)(std::shared_ptr<Value>, void *user_data);
180+
typedef bool (*ValueCallbackRaw)(std::shared_ptr<Value>, bool expired, void *user_data);
181+
typedef void (*DoneCallbackRaw)(bool, std::vector<std::shared_ptr<Node>>*, void *user_data);
182+
typedef void (*ShutdownCallbackRaw)(void *user_data);
183+
typedef void (*DoneCallbackSimpleRaw)(bool, void *user_data);
184+
typedef bool (*FilterRaw)(const Value&, void *user_data);
185185

186186

187187
OPENDHT_PUBLIC GetCallbackSimple bindGetCb(GetCallbackRaw raw_cb, void* user_data);

python/opendht.pyx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ cimport opendht_cpp as cpp
4242

4343
import threading
4444

45-
cdef inline void lookup_callback(cpp.vector[cpp.shared_ptr[cpp.IndexValue]]* values, cpp.Prefix* p, void *user_data) with gil:
45+
cdef inline void lookup_callback(cpp.vector[cpp.shared_ptr[cpp.IndexValue]]* values, cpp.Prefix* p, void *user_data) noexcept with gil:
4646
cbs = <object>user_data
4747
if 'lookup' in cbs and cbs['lookup']:
4848
vals = []
@@ -52,29 +52,29 @@ cdef inline void lookup_callback(cpp.vector[cpp.shared_ptr[cpp.IndexValue]]* val
5252
vals.append(v)
5353
cbs['lookup'](vals, p.toString())
5454

55-
cdef inline void shutdown_callback(void* user_data) with gil:
55+
cdef inline void shutdown_callback(void* user_data) noexcept with gil:
5656
cbs = <object>user_data
5757
if 'shutdown' in cbs and cbs['shutdown']:
5858
cbs['shutdown']()
5959
ref.Py_DECREF(cbs)
6060

61-
cdef inline bool get_callback(shared_ptr[cpp.Value] value, void *user_data) with gil:
61+
cdef inline bool get_callback(shared_ptr[cpp.Value] value, void *user_data) noexcept with gil:
6262
cbs = <object>user_data
6363
cb = cbs['get']
6464
f = cbs['filter'] if 'filter' in cbs else None
6565
pv = Value()
6666
pv._value = value
6767
return cb(pv) if not f or f(pv) else True
6868

69-
cdef inline bool value_callback(shared_ptr[cpp.Value] value, bool expired, void *user_data) with gil:
69+
cdef inline bool value_callback(shared_ptr[cpp.Value] value, bool expired, void *user_data) noexcept with gil:
7070
cbs = <object>user_data
7171
cb = cbs['valcb']
7272
f = cbs['filter'] if 'filter' in cbs else None
7373
pv = Value()
7474
pv._value = value
7575
return cb(pv, expired) if not f or f(pv) else True
7676

77-
cdef inline void done_callback(bool done, cpp.vector[shared_ptr[cpp.Node]]* nodes, void *user_data) with gil:
77+
cdef inline void done_callback(bool done, cpp.vector[shared_ptr[cpp.Node]]* nodes, void *user_data) noexcept with gil:
7878
node_ids = []
7979
for n in deref(nodes):
8080
h = NodeEntry()
@@ -86,7 +86,7 @@ cdef inline void done_callback(bool done, cpp.vector[shared_ptr[cpp.Node]]* node
8686
cbs['done'](done, node_ids)
8787
ref.Py_DECREF(cbs)
8888

89-
cdef inline void done_callback_simple(bool done, void *user_data) with gil:
89+
cdef inline void done_callback_simple(bool done, void *user_data) noexcept with gil:
9090
cbs = <object>user_data
9191
if 'done' in cbs and cbs['done']:
9292
cbs['done'](done)

0 commit comments

Comments
 (0)