|
| template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | operator+ (event< T0, T1, T2, T3 > e1, event< T0, T1, T2, T3 > e2) |
| | Create event that triggers e1 and e2 when triggered.
|
|
template<typename R, typename T0> |
| event< T0 > | operator+ (event< T0 > e1, preevent< R, T0 > &&e2) |
|
template<typename R, typename T0> |
| event< T0 > | operator+ (preevent< R, T0 > &&e1, event< T0 > e2) |
| template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | all (event< T0, T1, T2, T3 > e1, event< T0, T1, T2, T3 > e2) |
| | Create event that triggers e1 and e2 when triggered.
|
| template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | all (event< T0, T1, T2, T3 > e1, event< T0, T1, T2, T3 > e2, event< T0, T1, T2, T3 > e3) |
| | Create event that triggers e1, e2, and e3 when triggered.
|
|
template<typename R, typename T0> |
| event< T0 > | all (event< T0 > e1, preevent< R, T0 > &&e2) |
|
template<typename R, typename T0> |
| event< T0 > | all (preevent< R, T0 > &&e1, event< T0 > e2) |
| template<size_t I = 0, typename VI = void, typename... TS> |
| event | bind (event< TS... > e, VI vi) |
| | Create bound event for e with vi.
|
|
template<typename R, typename T0, typename V0> |
| event | bind (preevent< R, T0 > &&pe, V0 v0) |
| template<typename... TS> |
| event< TS... > | rebind (event<> e) |
| | Create bound event for e.
|
|
template<typename T0> |
| event< T0 > | rebind (event<> e, T0 &s0) |
|
template<typename T0, typename R> |
| event< T0 > | rebind (preevent< R > &&pe) |
|
template<typename T0, typename R> |
| event< T0 > | rebind (preevent< R > &&pe, T0 &s0) |
| template<typename S0, typename T0, typename F> |
| event< S0 > | map (event< T0 > e, F f) |
| | Create an event that triggers another event with a mapped value.
|
|
template<typename S0, typename R, typename T0, typename F> |
| event< S0 > | map (preevent< R, T0 > &&pe, F f) |
| template<size_t I = 0, typename V = void, typename... TS> |
| event< TS... > | add_timeout (const timeval &delay, event< TS... > e, V v) |
| | Add timeout to an event.
|
|
template<size_t I = 0, typename V = void, typename... TS> |
| event< TS... > | add_timeout (double delay, event< TS... > e, V v) |
|
template<size_t I = 0, typename V = void, typename... TS> |
| event< TS... > | add_timeout_sec (int delay, event< TS... > e, V v) |
|
template<size_t I = 0, typename V = void, typename... TS> |
| event< TS... > | add_timeout_msec (int delay, event< TS... > e, V v) |
|
template<typename R, typename T0> |
| event< T0 > | add_timeout (const timeval &delay, preevent< R, T0 > &&pe, T0 v) |
|
template<typename R, typename T0> |
| event< T0 > | add_timeout (double delay, preevent< R, T0 > &&pe, T0 v) |
|
template<typename R, typename T0> |
| event< T0 > | add_timeout_sec (int delay, preevent< R, T0 > &&pe, T0 v) |
|
template<typename R, typename T0> |
| event< T0 > | add_timeout_msec (int delay, preevent< R, T0 > &&pe, T0 v) |
| template<typename... TS> |
| event< TS... > | add_timeout (const timeval &delay, event< TS... > e) |
| | Add timeout to an event.
|
|
template<typename... TS> |
| event< TS... > | add_timeout (double delay, event< TS... > e) |
|
template<typename... TS> |
| event< TS... > | add_timeout_sec (int delay, event< TS... > e) |
|
template<typename... TS> |
| event< TS... > | add_timeout_msec (int delay, event< TS... > e) |
|
template<typename T0, typename R> |
| event< T0 > | add_timeout (const timeval &delay, preevent< R, T0 > &&pe) |
|
template<typename T0, typename R> |
| event< T0 > | add_timeout (double delay, preevent< R, T0 > &&pe) |
|
template<typename T0, typename R> |
| event< T0 > | add_timeout_sec (int delay, preevent< R, T0 > &&pe) |
|
template<typename T0, typename R> |
| event< T0 > | add_timeout_msec (int delay, preevent< R, T0 > &&pe) |
| template<typename T0> |
| event< T0 > | add_signal (int signo, event< T0 > e, T0 v) |
| | Add signal interruption to an event.
|
|
template<typename R, typename T0> |
| event< T0 > | add_signal (int signo, preevent< R, T0 > &&pe, T0 v) |
| template<typename T0, typename SigInputIterator> |
| event< T0 > | add_signal (SigInputIterator first, SigInputIterator last, event< T0 > e, T0 v) |
| | Add signal interruption to an event.
|
|
template<typename R, typename T0, typename SigInputIterator> |
| event< T0 > | add_signal (SigInputIterator first, SigInputIterator last, preevent< R, T0 > &&pe, T0 v) |
| template<typename T0> |
| event< T0 > | add_signal (int signo, event< T0 > e) |
| | Add signal interruption to an event.
|
|
template<typename T0, typename R> |
| event< T0 > | add_signal (int signo, preevent< R, T0 > &&pe) |
| template<typename T0, typename SigInputIterator> |
| event< T0 > | add_signal (SigInputIterator first, SigInputIterator last, event< T0 > e) |
| | Add signal interruption to an event.
|
|
template<typename T0, typename R, typename SigInputIterator> |
| event< T0 > | add_signal (SigInputIterator first, SigInputIterator last, preevent< R, T0 > &&pe) |
| template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_timeout (const timeval &delay, event< T0, T1, T2, T3 > e) |
| | Add silent timeout to an event.
|
|
template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_timeout (double delay, event< T0, T1, T2, T3 > e) |
|
template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_timeout_sec (int delay, event< T0, T1, T2, T3 > e) |
|
template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_timeout_msec (int delay, event< T0, T1, T2, T3 > e) |
|
template<typename R, typename T0> |
| event< T0 > | with_timeout (const timeval &delay, preevent< R, T0 > &&pe) |
|
template<typename R, typename T0> |
| event< T0 > | with_timeout (double delay, preevent< R, T0 > &&pe) |
|
template<typename R, typename T0> |
| event< T0 > | with_timeout_sec (int delay, preevent< R, T0 > &&pe) |
|
template<typename R, typename T0> |
| event< T0 > | with_timeout_msec (int delay, preevent< R, T0 > &&pe) |
| template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_signal (int signo, event< T0, T1, T2, T3 > e) |
| | Add silent signal interruption to an event.
|
|
template<typename R, typename T0> |
| event< T0 > | with_signal (int signo, preevent< R, T0 > &&pe) |
| template<typename T0, typename T1, typename T2, typename T3, typename SigInputIterator> |
| event< T0, T1, T2, T3 > | with_signal (SigInputIterator first, SigInputIterator last, event< T0, T1, T2, T3 > e) |
| | Add silent signal interruption to an event.
|
|
template<typename R, typename T0, typename SigInputIterator> |
| event< T0 > | with_signal (SigInputIterator first, SigInputIterator last, preevent< R, T0 > &&pe) |
| template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_timeout (const timeval &delay, event< T0, T1, T2, T3 > e, int &result) |
| | Add timeout to an event.
|
|
template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_timeout (double delay, event< T0, T1, T2, T3 > e, int &result) |
|
template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_timeout_sec (int delay, event< T0, T1, T2, T3 > e, int &result) |
|
template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_timeout_msec (int delay, event< T0, T1, T2, T3 > e, int &result) |
|
template<typename R, typename T0> |
| event< T0 > | with_timeout (const timeval &delay, preevent< R, T0 > &&pe, int &result) |
|
template<typename R, typename T0> |
| event< T0 > | with_timeout (double delay, preevent< R, T0 > &&pe, int &result) |
|
template<typename R, typename T0> |
| event< T0 > | with_timeout_sec (int delay, preevent< R, T0 > &&pe, int &result) |
|
template<typename R, typename T0> |
| event< T0 > | with_timeout_msec (int delay, preevent< R, T0 > &&pe, int &result) |
| template<typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | with_signal (int signo, event< T0, T1, T2, T3 > e, int &result) |
| | Add signal interruption to an event.
|
|
template<typename R, typename T0> |
| event< T0 > | with_signal (int signo, preevent< R, T0 > &&pe, int &result) |
| template<typename T0, typename T1, typename T2, typename T3, typename SigInputIterator> |
| event< T0, T1, T2, T3 > | with_signal (SigInputIterator first, SigInputIterator last, event< T0, T1, T2, T3 > e, int &result) |
| | Add signal interruption to an event.
|
|
template<typename R, typename T0, typename SigInputIterator> |
| event< T0 > | with_signal (SigInputIterator first, SigInputIterator last, preevent< R, T0 > &&pe, int &result) |
| template<typename F> |
| event | fun_event (F f) |
| | Create event that calls a function when triggered.
|
| template<typename F, typename A> |
| event | fun_event (F f, A arg) |
| | Create event that calls a function when triggered.
|
| template<typename F, typename A1, typename A2> |
| event | fun_event (F f, A1 arg1, A2 arg2) |
| | Create event that calls a function when triggered.
|
|
template<typename C> |
| event< typename C::value_type > | push_back_event (C &container) |
|
template<typename It> |
| event< typename std::iterator_traits< It >::value_type > | output_event (It &iterator) |
|
void | gethostbyname (std::string name, bool search, event< dns::reply > result) |
|
void | gethostbyaddr (struct in_addr *in, event< dns::reply > result) |
| bool | initialize (int flags=0) |
| | Initialize the Tamer event loop.
|
| void | cleanup () |
| | Clean up the Tamer event loop.
|
|
void | set_time_type (time_type_t tt) |
|
const timeval & | recent () |
| | Return a recent snapshot of the current time.
|
|
void | set_recent () |
| | Sets Tamer's current time to the current timestamp.
|
|
double | dtime (const timeval tv) |
| | Translate a time to a double.
|
|
double | dnow () |
| | Return the current time as a double.
|
|
double | drecent () |
| | Return a recent snapshot of the current time as a double.
|
|
void | loop (loop_flags flags) |
| | Run driver loop according to flags.
|
|
void | loop () |
| | Run driver loop indefinitely.
|
|
void | once () |
| | Run driver loop once.
|
|
void | break_loop () |
| | Exit the current driver loop.
|
| void | at_fd_read (int fd, event<> e) |
| | Register event for file descriptor readability.
|
|
void | at_fd_read (int fd, event< int > e) |
| void | at_fd_write (int fd, event<> e) |
| | Register event for file descriptor writability.
|
|
void | at_fd_write (int fd, event< int > e) |
| void | at_fd_shutdown (int fd, event<> e) |
| | Register event for file descriptor shutdown.
|
| void | at_time (const timeval &expiry, event<> e, bool bg=false) |
| | Register event for a given time.
|
| void | at_time (double expiry, event<> e, bool bg=false) |
| void | at_delay (const timeval &delay, event<> e, bool bg=false) |
| | Register event for a given delay.
|
| void | at_delay (double delay, event<> e, bool bg=false) |
| | Register event for a given delay.
|
| void | at_delay_sec (int delay, event<> e, bool bg=false) |
| | Register event for a given delay.
|
| void | at_delay_msec (int delay, event<> e, bool bg=false) |
| | Register event for a given delay.
|
| void | at_delay_usec (int delay, event<> e, bool bg=false) |
| | Register event for a given delay.
|
| void | at_signal (int signo, event<> e) |
| | Register event for signal occurrence.
|
| void | at_asap (event<> e) |
| | Register event to trigger soon.
|
| void | at_preblock (event<> e) |
| | Register event to trigger before Tamer blocks.
|
| template<typename R, typename I, typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | make_event (one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0, T1 &x1, T2 &x2, T3 &x3) |
| | Construct a four-result event on rendezvous r with ID eid.
|
|
template<typename R, typename I, typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | make_event (one_argument_rendezvous_tag< R > &r, const I &eid, typename event< T0, T1, T2, T3 >::results_tuple_type &xs) |
|
template<typename R, typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | make_event (zero_argument_rendezvous_tag< R > &r, T0 &x0, T1 &x1, T2 &x2, T3 &x3) |
|
template<typename R, typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | make_event (zero_argument_rendezvous_tag< R > &r, typename event< T0, T1, T2, T3 >::results_tuple_type &xs) |
|
template<typename R, typename I, typename T0, typename T1, typename T2> |
| event< T0, T1, T2 > | make_event (one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0, T1 &x1, T2 &x2) |
|
template<typename R, typename T0, typename T1, typename T2> |
| event< T0, T1, T2 > | make_event (zero_argument_rendezvous_tag< R > &r, T0 &x0, T1 &x1, T2 &x2) |
|
template<typename R, typename I, typename T0, typename T1> |
| event< T0, T1 > | make_event (one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0, T1 &x1) |
|
template<typename R, typename T0, typename T1> |
| event< T0, T1 > | make_event (zero_argument_rendezvous_tag< R > &r, T0 &x0, T1 &x1) |
|
template<typename R, typename I, typename T0> |
| event< T0 > | make_event (one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0) |
|
template<typename R, typename T0> |
| event< T0 > | make_event (zero_argument_rendezvous_tag< R > &r, T0 &x0) |
|
template<typename R, typename T0> |
| preevent< R, T0 > | make_event (zero_argument_rendezvous_tag< R > &r, T0 &x0) |
|
template<typename R, typename T0> |
| preevent< R, T0 > | make_preevent (zero_argument_rendezvous_tag< R > &r, T0 &x0) |
|
template<typename R, typename I> |
| event | make_event (one_argument_rendezvous_tag< R > &r, const I &eid) |
|
template<typename R> |
| event | make_event (zero_argument_rendezvous_tag< R > &r) |
|
template<typename R> |
| preevent< R > | make_event (zero_argument_rendezvous_tag< R > &r) |
|
template<typename R> |
| preevent< R > | make_preevent (zero_argument_rendezvous_tag< R > &r) |
| template<typename R, typename I, typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0, T1 &x1, T2 &x2, T3 &x3) |
|
template<typename R, typename I, typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid, typename event< T0, T1, T2, T3 >::results_tuple_type &xs) |
|
template<typename R, typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, T0 &x0, T1 &x1, T2 &x2, T3 &x3) |
|
template<typename R, typename T0, typename T1, typename T2, typename T3> |
| event< T0, T1, T2, T3 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, typename event< T0, T1, T2, T3 >::results_tuple_type &xs) |
|
template<typename R, typename I, typename T0, typename T1, typename T2> |
| event< T0, T1, T2 > | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0, T1 &x1, T2 &x2) |
|
template<typename R, typename I, typename T0, typename T1, typename T2> |
| event< T0, T1, T2 > | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid, typename event< T0, T1, T2 >::results_tuple_type &xs) |
|
template<typename R, typename T0, typename T1, typename T2> |
| event< T0, T1, T2 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, T0 &x0, T1 &x1, T2 &x2) |
|
template<typename R, typename T0, typename T1, typename T2> |
| event< T0, T1, T2 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, typename event< T0, T1, T2 >::results_tuple_type &xs) |
|
template<typename R, typename I, typename T0, typename T1> |
| event< T0, T1 > | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0, T1 &x1) |
|
template<typename R, typename I, typename T0, typename T1> |
| event< T0, T1 > | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid, typename event< T0, T1 >::results_tuple_type &xs) |
|
template<typename R, typename T0, typename T1> |
| event< T0, T1 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, T0 &x0, T1 &x1) |
|
template<typename R, typename T0, typename T1> |
| event< T0, T1 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, typename event< T0, T1 >::results_tuple_type &xs) |
|
template<typename R, typename I, typename T0> |
| event< T0 > | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0) |
|
template<typename R, typename I, typename T0> |
| event< T0 > | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid, std::tuple< T0 > &xs) |
|
template<typename R, typename T0> |
| event< T0 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, T0 &x0) |
|
template<typename R, typename T0> |
| event< T0 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, std::tuple< T0 > &xs) |
|
template<typename R, typename T0> |
| preevent< R, T0 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, T0 &x0) |
|
template<typename R, typename T0> |
| preevent< T0 > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, std::tuple< T0 > &xs) |
|
template<typename R, typename T0> |
| preevent< R, T0 > | make_annotated_preevent (const char *file, int line, zero_argument_rendezvous_tag< R > &r, T0 &x0) |
|
template<typename R, typename T0> |
| preevent< R, T0 > | make_annotated_preevent (const char *file, int line, zero_argument_rendezvous_tag< R > &r, std::tuple< T0 > &xs) |
|
template<typename R, typename I> |
| event | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid) |
|
template<typename R, typename I> |
| event | make_annotated_event (const char *file, int line, one_argument_rendezvous_tag< R > &r, const I &eid, typename event<>::results_tuple_type &xs) |
|
template<typename R> |
| event | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r) |
|
template<typename R> |
| event | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, typename event<>::results_tuple_type &xs) |
|
template<typename R> |
| preevent< R > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r) |
|
template<typename R> |
| preevent< R > | make_annotated_event (const char *file, int line, zero_argument_rendezvous_tag< R > &r, typename event<>::results_tuple_type &xs) |
|
template<typename R> |
| preevent< R > | make_annotated_preevent (const char *file, int line, zero_argument_rendezvous_tag< R > &r) |
|
template<typename R> |
| event | make_annotated_preevent (const char *file, int line, zero_argument_rendezvous_tag< R > &r, typename event<>::results_tuple_type &xs) |
|
template<typename T0, typename T1> |
| event< T0, T1 > | operator+ (event< T0, T1 > a, event< T0, T1 > b) |
| fd | tcp_listen (int port) |
| | Open a nonblocking TCP connection on port port.
|
|
fd | tcp_listen (int port, int backlog) |
| void | tcp_listen (int port, event< fd > result) |
| | Open a nonblocking TCP connection on port port.
|
| void | tcp_listen (int port, int backlog, event< fd > result) |
| | Open a nonblocking TCP connection on port port.
|
|
void | tcp_connect (struct in_addr addr, int port, event< fd > result) |
|
void | tcp_connect (int port, event< fd > result) |
|
void | udp_connect (struct in_addr addr, int port, event< fd > result) |
|
fd | unix_stream_listen (std::string path, int backlog) |
|
fd | unix_stream_listen (std::string path) |
|
void | unix_stream_connect (std::string path, event< fd > result) |
|
pid_t | exec (std::vector< exec_fd > &exec_fds, const char *program, bool path, const std::vector< const char * > &argv, char *const envp[]) |
|
pid_t | execv (fd &in, fd &out, const char *program, const std::vector< const char * > &argv) |
|
pid_t | execv (fd &in, fd &out, fd &err, const char *program, const std::vector< const char * > &argv) |
|
pid_t | execvp (fd &in, fd &out, const char *program, const std::vector< const char * > &argv) |
|
pid_t | execvp (fd &in, fd &out, fd &err, const char *program, const std::vector< const char * > &argv) |
| bool | operator== (const fd &a, const fd &b) |
| | Test whether two file descriptors refer to the same object.
|
| bool | operator!= (const fd &a, const fd &b) |
| | Test whether two file descriptors refer to the same object.
|
|
template<typename T, typename U> |
| bool | operator== (const ref_ptr< T > &a, const ref_ptr< T > &b) |
|
template<typename T, typename U> |
| bool | operator!= (const ref_ptr< T > &a, const ref_ptr< T > &b) |
|
template<typename T, typename U> |
| bool | operator== (const passive_ref_ptr< T > &a, const passive_ref_ptr< T > &b) |
|
template<typename T, typename U> |
| bool | operator!= (const passive_ref_ptr< T > &a, const passive_ref_ptr< T > &b) |
|
timeval | now () |