3#include <randolf/rsocket>
7 /*======================================================================*//**
9 Internal structure that @ref rsocket_mux uses to store @ref rsocket objects
10 with their intended fds/fd_set relations. The vector that this structure is
11 used to generate fds tables.
13 *///=========================================================================
14 struct rsocket_mux_fds {
15 /// Pointer to instantiated rsocket object
17 /// Flags for intended fd_set array relations (e.g., @c POLLIN, @c POLLOUT, @c POLLERR, etc.)
20 /*======================================================================*//**
22 Built-in comparison operator used by @c std::set for ordering rsocket objects
23 by their underlying socket descriptors because this is what is needed for
24 internal muxing by POSIX's @c select(), @c poll(), etc. functions.
25 @returns Underlying socket handle
26 *///=========================================================================
27 bool operator<(/// This rsocket_mux_fds structure
28 const rsocket_mux_fds& rmf) const {
29 return r->socket_fd() < rmf.r->socket_fd();
32 }; // -x- struct rsocket_mux_fds -x-
34}; // -x- namespace randolf -x-