#include "../../ip_addr.h"


Go to the source code of this file.
Data Structures | |
| struct | unc_as |
Functions | |
| int | dispatcher_main_loop (void) |
| int | process_bind_action (as_p as, char *payload, int len) |
| int | process_unbind_action (as_p as, char *payload, int len) |
| int | spawn_action_dispatcher (struct as_entry *as) |
Variables | |
| struct unc_as | unc_as_t [] |
| int dispatcher_main_loop | ( | void | ) |
Main loop for the Event Dispatcher process.
we decrement i so that pulling down the upper part of the unc_as array so that it doesn't affect our for loop
Definition at line 86 of file event_dispatcher.c.
References app_server::action_fd, app_server::action_pid, as_entry::as, as_list, AS_TYPE, CLUSTER_TYPE, as_entry::connected, destroy_pingtable(), dispatch_relay(), app_server::ev_buffer, app_server::event_fd, handle_as_data(), handle_unc_as_data(), is_dispatcher, app_server::jain_pings, _str::len, LM_DBG, LM_ERR, LM_INFO, LM_WARN, as_entry::name, new_as_connect(), as_entry::next, open_server_sockets(), pkg_free, process_no, read_pipe, _str::s, seas_listen_ip, seas_listen_port, seas_sighandler(), app_server::servlet_pings, sig_flag, spawn_pinger(), as_entry::type, as_entry::u, use_ha, and whoami.
Referenced by seas_child_init().
| int process_bind_action | ( | as_p | as, | |
| char * | payload, | |||
| int | len | |||
| ) |
processes a BIND event type from the AS. Bind events follow this form: 4:flags 1:processor_id 1:Address Family 1:address length in bytes (16 for ipv6, 4 for ipv4) in NETWORK BYTE ORDER (fortunately, ip_addr struct stores it in NBO) [16|4]:the IP address 1:protocol used (UDP,TCP or TLS); 2:NBO port
Definition at line 804 of file event_dispatcher.c.
References ip_addr::addr, socket_info::address, ip_addr::af, app_server::binds, app_server::bound_processor, ip_addr::len, LM_DBG, LM_ERR, MAX_BINDS, net2hostL, socket_info::next, app_server::num_binds, port, socket_info::port_no, print_ip_buf(), PROTO_TCP, PROTO_TLS, PROTO_UDP, ip_addr::u, and udp_listen.
Referenced by process_event_reply().
| int process_unbind_action | ( | as_p | as, | |
| char * | payload, | |||
| int | len | |||
| ) |
processes a UNBIND event type from the AS. Bind events follow this form: 1:processor_id
Definition at line 878 of file event_dispatcher.c.
References app_server::bound_processor, LM_DBG, LM_ERR, MAX_BINDS, net2hostL, and app_server::num_binds.
Referenced by process_event_reply().
| int spawn_action_dispatcher | ( | struct as_entry * | as | ) |
Definition at line 1096 of file event_dispatcher.c.
References app_server::action_pid, as_entry::as, dispatch_actions(), is_dispatcher, _str::len, LM_ERR, as_entry::name, pid, _str::s, and as_entry::u.
Referenced by add_new_as().
Definition at line 63 of file event_dispatcher.c.
Referenced by add_new_as(), handle_unc_as_data(), new_as_connect(), and seas_init().
1.5.6