Commit 0f882b18 authored by Dominik Charousset's avatar Dominik Charousset

Merge branch 'topic/rename_interface' into develop

parents 38bdad81 807b07fc
Subproject commit 015c3bcd41098945ba85d2b0c756c9955b14f53c Subproject commit 169fbf5d668d0f394afab6bb0e14389e62072cb1
...@@ -81,11 +81,6 @@ class typed_actor ...@@ -81,11 +81,6 @@ class typed_actor
*/ */
using base = typed_event_based_actor<Rs...>; using base = typed_event_based_actor<Rs...>;
/**
* Stores the interface of the actor as type list.
*/
using interface = detail::type_list<Rs...>;
typed_actor() = default; typed_actor() = default;
typed_actor(typed_actor&&) = default; typed_actor(typed_actor&&) = default;
typed_actor(const typed_actor&) = default; typed_actor(const typed_actor&) = default;
...@@ -135,7 +130,7 @@ class typed_actor ...@@ -135,7 +130,7 @@ class typed_actor
return m_ptr ? 1 : 0; return m_ptr ? 1 : 0;
} }
static std::set<std::string> get_message_types() { static std::set<std::string> message_types() {
return {detail::to_uniform_name<Rs>()...}; return {detail::to_uniform_name<Rs>()...};
} }
...@@ -157,13 +152,13 @@ class typed_actor ...@@ -157,13 +152,13 @@ class typed_actor
template <class... OtherRs> template <class... OtherRs>
inline void set(const typed_actor<OtherRs...>& other) { inline void set(const typed_actor<OtherRs...>& other) {
check_signatures<interface, detail::type_list<OtherRs...>>(); check_signatures<detail::type_list<Rs...>, detail::type_list<OtherRs...>>();
m_ptr = other.m_ptr; m_ptr = other.m_ptr;
} }
template <class Impl> template <class Impl>
inline void set(intrusive_ptr<Impl>& other) { inline void set(intrusive_ptr<Impl>& other) {
check_signatures<interface, typename Impl::signatures>(); check_signatures<detail::type_list<Rs...>, typename Impl::signatures>();
m_ptr = std::move(other); m_ptr = std::move(other);
} }
......
...@@ -143,8 +143,8 @@ std::string get_root_uuid() { ...@@ -143,8 +143,8 @@ std::string get_root_uuid() {
}; };
// iterate through interfaces. // iterate through interfaces.
auto ifr = ifc.ifc_req; auto ifr = ifc.ifc_req;
size_t num_interfaces = ifc.ifc_len / sizeof(ifreq); size_t num_ifs = ifc.ifc_len / sizeof(ifreq);
for (size_t i = 0; i < num_interfaces; i++) { for (size_t i = 0; i < num_ifs; i++) {
auto& item = ifr[i]; auto& item = ifr[i];
// get MAC address // get MAC address
if (ioctl(sck, SIOCGIFHWADDR, &item) < 0) { if (ioctl(sck, SIOCGIFHWADDR, &item) < 0) {
......
...@@ -35,12 +35,12 @@ namespace io { ...@@ -35,12 +35,12 @@ namespace io {
template <class List> template <class List>
struct typed_remote_actor_helper; struct typed_remote_actor_helper;
template <template<class...> class List, class... Ts> template <template <class...> class List, class... Ts>
struct typed_remote_actor_helper<List<Ts...>> { struct typed_remote_actor_helper<List<Ts...>> {
using return_type = typed_actor<Ts...>; using return_type = typed_actor<Ts...>;
template <class... Vs> template <class... Vs>
return_type operator()(Vs&&... vs) { return_type operator()(Vs&&... vs) {
auto iface = return_type::get_message_types(); auto iface = return_type::message_types();
auto tmp = remote_actor_impl(std::forward<Vs>(vs)..., std::move(iface)); auto tmp = remote_actor_impl(std::forward<Vs>(vs)..., std::move(iface));
return actor_cast<return_type>(tmp); return actor_cast<return_type>(tmp);
} }
......
Subproject commit 600a2a5ea21c9aa17d75bd4c28978349fbbd559b Subproject commit 50655d8df30f74734e5c5f2dfad25152358371ac
Subproject commit ce3ac3c6703ebbdbfc130123ed7545fdbb777d06 Subproject commit 8f5f7fca1c1413f65613bf0df19f5995a88d40ce
Subproject commit d5c98c59198de67b9273fba39c54c660f8f2a378 Subproject commit f11a3057c83d3a20e7c669b6c224bea207c677e2
...@@ -56,7 +56,7 @@ void run_client(const char* host, uint16_t port) { ...@@ -56,7 +56,7 @@ void run_client(const char* host, uint16_t port) {
cerr << "unexpected: " << e.what() << endl; cerr << "unexpected: " << e.what() << endl;
} }
CAF_CHECKPOINT(); CAF_CHECKPOINT();
auto serv = io::typed_remote_actor<server_type::interface>(host, port); auto serv = io::typed_remote_actor<server_type>(host, port);
CAF_CHECKPOINT(); CAF_CHECKPOINT();
scoped_actor self; scoped_actor self;
self->sync_send(serv, ping{42}) self->sync_send(serv, ping{42})
......
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