Commit 984a2bcb authored by Dominik Charousset's avatar Dominik Charousset

Adapt to latest CAF API changes

parent 6d0fec16
...@@ -166,7 +166,8 @@ class cpp_binding : public binding { ...@@ -166,7 +166,8 @@ class cpp_binding : public binding {
public: public:
using binding::binding; using binding::binding;
virtual pybind11::object to_object(message& xs, size_t pos) const = 0; virtual pybind11::object to_object(const type_erased_tuple& xs,
size_t pos) const = 0;
}; };
template <class T> template <class T>
...@@ -178,7 +179,8 @@ public: ...@@ -178,7 +179,8 @@ public:
xs.append(x.cast<T>()); xs.append(x.cast<T>());
} }
pybind11::object to_object(message& xs, size_t pos) const override { pybind11::object to_object(const type_erased_tuple& xs,
size_t pos) const override {
return pybind11::cast(xs.get_as<T>(pos)); return pybind11::cast(xs.get_as<T>(pos));
} }
}; };
...@@ -469,7 +471,7 @@ void py_send(pybind11::args xs) { ...@@ -469,7 +471,7 @@ void py_send(pybind11::args xs) {
s_context->self->send(dest, mb.move_to_message()); s_context->self->send(dest, mb.move_to_message());
} }
pybind11::tuple tuple_from_message(message msg) { pybind11::tuple tuple_from_message(const type_erased_tuple& msg) {
auto& self = s_context->self; auto& self = s_context->self;
auto& bindings = s_context->cfg.portable_bindings(); auto& bindings = s_context->cfg.portable_bindings();
pybind11::tuple result(msg.size()); pybind11::tuple result(msg.size());
...@@ -500,7 +502,7 @@ pybind11::tuple py_dequeue() { ...@@ -500,7 +502,7 @@ pybind11::tuple py_dequeue() {
self->await_data(); self->await_data();
ptr = self->next_message(); ptr = self->next_message();
} }
return tuple_from_message(std::move(ptr->msg)); return tuple_from_message(std::move(ptr->content()));
} }
pybind11::tuple py_dequeue_with_timeout(absolute_receive_timeout timeout) { pybind11::tuple py_dequeue_with_timeout(absolute_receive_timeout timeout) {
...@@ -511,7 +513,7 @@ pybind11::tuple py_dequeue_with_timeout(absolute_receive_timeout timeout) { ...@@ -511,7 +513,7 @@ pybind11::tuple py_dequeue_with_timeout(absolute_receive_timeout timeout) {
return pybind11::none{}; return pybind11::none{};
ptr = self->next_message(); ptr = self->next_message();
} }
return tuple_from_message(std::move(ptr->msg)); return tuple_from_message(std::move(ptr->content()));
} }
actor py_self() { actor py_self() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment