 | RIP dataflow |
+-----------------------------+ +----------------------------+ +------------------------+ +----------------+ +-----------------------+
| attributes | | objects | | socket | | bitmask | | errors |
+-----------------------------+ +----------------------------+ +------------------------+ +----------------+ +-----------------------+
! Attributes ! ! Objects ! !........................! !................! ! er_level_a !
| Attributes_details | !............................! | SK_atoport() | | MA_new() | ! ER_mod_err !
! Sources ! | OB_init() | | SK_close() | | MA_free() | ! IP_mod_er !
!.............................! | OB_get_inv_attr_mask() | | SK_getsock() | | MA_set() | ! RX_mod_err !
| AT_get_sources() | | OB_get_object_mask() | | SK_accept_connection() | | MA_isset() | ! UT_mod_err !
| AT_get_source() | | OB_object_to_string1() | | SK_gets() | | MA_clear() | ! er_main_err !
| AT_sources_to_string() | | OB_object_to_string2() | | SK_puts() | | MA_prt() | ! er_progname !
| AT_sources_list_to_string() | | OB_object_i_to_string() | +----------------------+-+ | MA_and() | ! er_pid !
| AT_get_attributes() | | OB_attribute_i_to_string() | A | | MA_xor() | ! er_provisional_struct !
| AT_get_attribute() | | OB_objects_to_string() | | | | MA_or() | !.......................!
| AT_get_attribute_desc() | +--------+---------+---------+ | | | MA_bitcount() | | ER_init() |
| AT_get_attribute_frmt() | | A | | V | MA_to_string() | | ER_perror() |
| AT_attributes_to_string() | V | | | | +----------------+ | ER_dbg_va() |
+-----------------------------+ | | | | | | | ER_anybody_wants() |
A | | | | | | | ER_setpath() |
+----------------------------+------------------------------------------------------+ A | ER_is_traced() |
| | | | | | +-----------------------+
| V | | | | A
| | | | | | |
| +-----------------------------------------------------+-----+----------------------+
| | | | | | |
| | | | | | |
| | | | | | |
+----------------------+--------------------------+---------------------------+ | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| +-----------------------+---+------------------------+ | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
+-------------+ | | | | | | | | | | | |
|+-----------+| +------+-----+ +-----------------+--------+ +-----+---+------+ | +--+----+----+----+------------+ +----+-----------------+
|| whois_rip || | server | | thread | | protocol_whois | | | query_command | | which_keytype |
|+-----------+| +------------+ +--------------------------+ +----------------+ | +------------------------------+ +----------------------+
|!...........!| !............! ! Whois_thread_count_lock | !................! | !..............................! !......................!
|| main() |+---}| SV_start() +----}| Config_thread_count_lock +-+-}| PW_interact() +---+---}| QC_new() +---}| WK_new() |
|+-----------+| +-----+------+ | Mirror_thread_count_lock | | +------+---------+ | | | QC_free() | +----------------------+
+----+---+----+ | | Whois_thread_count | | | | | | | QC_environ_update() | |
| | | | Config_thread_count | | | | | | | QC_bitmap_to_string() | |
| | | | Mirror_thread_count | | +-------------+---+ | | | QC_query_command_to_string() | |
| | | !..........................! | | protocol_config | | | +------------------------------+ |
| | | | TH_do_whois() | | +-----------------+ | | |
| | | | TH_do_config() | | !.................! | | +--------------------+ |
| | | | TH_get_id() | +-}| PC_interact() | | | | query_instructions | |
| | | | TH_run() | +--+-------+---+--+ | | +--------------------+ |
| | | | TH_to_string() | | | | | | | !....................! |
| | | +---------+----------------+ | | | | +---}| QI_new() | |
| | | | | | | | | | QI_free() | |
| | | | | | | | | | QI_execute() | |
+-------------------------------------------------------------------+ | | | | +-------+------------+ |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | +--------------------------------------------+--------------+---------------------+ |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| +----------------------------+---------+-------------+--------------+---+-----------+ V |
| | | | | |
| | A | +----------------------------------+-------------
V V | V | |
+-------------------+ +--------------------------+ +-----+----------------------+ +--------+----------+ +-------------------+ +-------------------+
| properties | | constants | | mysql_driver | | radix | | ip | | ut |
+-------------------+ +--------------------------+ +----------------------------+ +-------------------+ +-------------------+ +-------------------+
| Propertes | | Constants | !............................! !...................! !...................! !...................!
| Prop_file_name | !..........................! | SQ_get_connection() | | RX_bin_node() ! | IP_addr_t2b() ! | !
| Prop_count | | CO_set() | | SQ_execute_query() | | RX_asc_node() | | IP_pref_t2b() | | |
!...................! | CO_set_const() | | SQ_get_column_count() | | RX_get_tree() +--}| IP_rang_t2b() | | |
| PR_load() | | CO_const_to_string() | | SQ_get_column_label() | | RX_inum_node() | | IP_addr_b2a() | | |
| PR_set() | | CO_get_max_threads() | | SQ_get_column_max_length() | | RX_asc_search() | | IP_pref_b2a() | | |
| PR_get_property() |{----+ CO_get_whois_port() | | SQ_row_next() | | RX_space_cre() | | IP_rang_b2a() | | |
| PR_to_string() | | CO_get_config_port() | | SQ_get_column_string() | +-------------------+ | IP_addr_bit_get() | | |
+-------------------+ | CO_get_mirror_port() | | SQ_get_column_strings() | | IP_addr_bit_set() | | |
| CO_get_host() | | SQ_get_column_int() | | IP_addr_cmp() | | |
| CO_get_user() | | SQ_result_to_string() | | IP_sizebits() | | |
| CO_get_password() | | SQ_free_result() | | IP_pref_bit_fix() | | |
| CO_get_database_port() | | SQ_close_connection() | | IP_smart_conv() | | |
| CO_get_database() | | SQ_num_rows() | +-------------------+ +-------------------+
| CO_get_query() | | SQ_info_to_string() |
| CO_get_in_query() | | SQ_error() |
| CO_get_rt_query() | | SQ_errno() |
| CO_get_authenticate() | +----------------------------+
| CO_get_whois_suspended() |
| CO_get_welcome() |
| CO_get_prompt() |
| CO_get_clear_screen() |
| CO_get_sleep_time() |
| CO_get_accounting() |
| CO_get_query_logging() |
| CO_get_query_logfile() |
| CO_get_comnd_logging() |
| CO_get_comnd_logfile() |
| CO_get_instr_logging() |
| CO_get_instr_logfile() |
| CO_get_tests_logging() |
| CO_get_tests_logfile() |
| CO_get_thread_logging() |
| CO_get_thread_logfile() |
| CO_get_socket_logging() |
| CO_get_socket_logfile() |
| CO_get_config_logging() |
| CO_get_config_logfile() |
| CO_to_string() |
+--------------------------+