Commit a9d02b21 authored by Dominik Charousset's avatar Dominik Charousset

Allow brokers to add native sockets directly

parent 514f681e
......@@ -38,6 +38,7 @@
#include "caf/io/receive_policy.hpp"
#include "caf/io/system_messages.hpp"
#include "caf/io/connection_handle.hpp"
#include "caf/io/network/native_socket.hpp"
#include "caf/io/network/stream_manager.hpp"
#include "caf/io/network/acceptor_manager.hpp"
......@@ -254,6 +255,8 @@ class broker : public extend<local_actor>::
connection_handle add_tcp_scribe(const std::string& host, uint16_t port);
connection_handle add_tcp_scribe(network::native_socket fd);
inline void add_doorman(const doorman_pointer& ptr) {
m_doormen.insert(std::make_pair(ptr->hdl(), ptr));
if (is_initialized()) {
......@@ -265,6 +268,8 @@ class broker : public extend<local_actor>::
const char* in = nullptr,
bool reuse_addr = false);
accept_handle add_tcp_doorman(network::native_socket fd);
void invoke_message(const actor_addr& sender, message_id mid, message& msg);
void enqueue(const actor_addr&, message_id, message,
......
......@@ -361,11 +361,18 @@ connection_handle broker::add_tcp_scribe(const std::string& hst, uint16_t prt) {
return backend().add_tcp_scribe(this, hst, prt);
}
connection_handle broker::add_tcp_scribe(network::native_socket fd) {
return backend().add_tcp_scribe(this, fd);
}
std::pair<accept_handle, uint16_t>
broker::add_tcp_doorman(uint16_t port, const char* in, bool reuse_addr) {
return backend().add_tcp_doorman(this, port, in, reuse_addr);
}
accept_handle broker::add_tcp_doorman(network::native_socket fd) {
return backend().add_tcp_doorman(this, fd);
}
} // namespace io
} // namespace caf
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