13 #ifndef __PROCESS_SOCKET_MANAGER_HPP__ 14 #define __PROCESS_SOCKET_MANAGER_HPP__ 108 void swap_implementing_socket(
153 std::recursive_mutex mutex;
162 #endif // __PROCESS_SOCKET_MANAGER_HPP__
void exited(const network::inet::Address &address)
Future< Response > request(const Request &request, bool streamedResponse=false)
Asynchronously sends an HTTP request to the process and returns the HTTP response once the entire res...
RemoteConnection
Describes the behavior of the link call when the target pid points to a remote process.
Definition: process.hpp:161
Definition: message.hpp:22
void send(Encoder *encoder, bool persist, const network::inet::Socket &socket)
Kind
Available kinds of implementations.
Definition: socket.hpp:67
static Kind DEFAULT_KIND()
Returns the default Kind of implementation.
Definition: process.hpp:72
Definition: socket_manager.hpp:36
void accepted(const network::inet::Socket &socket)
Definition: hashmap.hpp:38
void link(ProcessBase *process, const UPID &to, const ProcessBase::RemoteConnection remote, const network::internal::SocketImpl::Kind &kind=network::internal::SocketImpl::DEFAULT_KIND())
An "untyped" PID, used to encapsulate the process ID for lower-layer abstractions (eg...
Definition: pid.hpp:39
hashmap< ProcessBase *, hashset< UPID > > linkees
Definition: socket_manager.hpp:100
Definition: encoder.hpp:38
Option< int_fd > get_persistent_socket(const UPID &to)
hashmap< network::inet::Address, hashset< UPID > > remotes
Definition: socket_manager.hpp:101
hashmap< UPID, hashset< ProcessBase * > > linkers
Definition: socket_manager.hpp:99
PID< HttpProxy > proxy(const network::inet::Socket &socket)
Definition: address.hpp:52
A "process identifier" used to uniquely identify a process when dispatching messages.
Definition: pid.hpp:289
Definition: executor.hpp:48
network::inet::Address address()
Returns the socket address associated with this instance of the library.
void unproxy(const network::inet::Socket &socket)
Try< Netlink< struct nl_sock > > socket(int protocol=NETLINK_ROUTE)
Definition: internal.hpp:91
SocketManager * socket_manager
int int_fd
Definition: int_fd.hpp:35