File ud/ud_process_stream.c

  $Revision: 1.62 $

Functions to process data stream( file, network socket, etc.)
Status: NOT REVUED, NOT TESTED
Author(s): Chris Ottrey, Andrei Robachevsky

Included Files


Preprocessor definitions

#define SBUNCH 1000

Typedef Line_Type_t

typedef enum _Line_Type_t Line_Type_t
enum _Line_Type_t 
   { 
     LINE_ATTRIBUTE; 
     LINE_COMMENT; 
     LINE_EMPTY; 
     LINE_EOF; 
     LINE_ADD; 
     LINE_UPD; 
     LINE_DEL; 
     LINE_OVERRIDE_ADD; 
     LINE_OVERRIDE_UPD; 
     LINE_OVERRIDE_DEL; 
     LINE_ACK; 
   } 

Global Variable Lock

pthread_mutex_t Lock
Included from /home/shane/release/RIP/include/ca_defs.h
Visible in:  aa/aa.c
   ac/ac_persistence.c
   ac/access_control.c
   au/AU_util.c
   ca/ca_configFns.c
   ca/ca_initFn.c
   ca/ca_sanityCheck.c
   ca/ca_sourceLoader.c
   ca/ca_values.c
   co/constants.c
   df/defs.c
   er/er.c
   er/er_arrays.c
   er/er_macro.c
   er/er_paths.c
   er/er_print.c
   ip/ip.c
   ma/bitmask.c
   mm/mm.c
   nh/nh.c
   pa/gpg.c
   pa/spawn.c
   pc/pc_commands.c
   pc/protocol_config.c
   pm/pm_serials.c
   pm/protocol_mirror.c
   pr/properties.c
   pw/protocol_whois.c
   qc/mg_getopt.c
   qc/query_command.c
   qi/query_instructions.c
   rp/rp_convert.c
   rp/rp_load.c
   rp/rp_search.c
   rp/rp_tree.c
   rp/rp_update.c
   rx/rx_node.c
   rx/rx_print.c
   rx/rx_search.c
   rx/rx_tree.c
   sk/cd_socket.c
   sk/cd_watchdog.c
   sk/sk_socket.c
   sq/mysql_driver.c
   sv/server.c
   ta/ta.c
   th/thread.c
   ud/ud_comrol.c
   ud/ud_core.c
   ud/ud_main.c
   ud/ud_misc.c
   ud/ud_process_stream.c
Used in: ca_get_adminIntElement()ca/ca_configFns.c
  ca_get_adminStrElement()ca/ca_configFns.c
  ca_get_boolean()ca/ca_configFns.c
  ca_get_dirlist()ca/ca_configFns.c
  ca_get_int()ca/ca_configFns.c
  ca_get_string()ca/ca_configFns.c
  ca_set_boolean()ca/ca_configFns.c
  ca_srchandle2Intelement()ca/ca_configFns.c
  ca_srchandle2Strelement()ca/ca_configFns.c

Global Function UD_process_stream()

int UD_process_stream ( UD_stream_t* ud_stream )
Prototyped in: /home/shane/release/RIP/include/ud_int.h
Calls: CO_get_do_update()co/constants.c
  ER_inf_va()er/er.c
  ER_perror()er/er.c
  SK_cd_gets()sk/cd_socket.c
  SQ_error()sq/mysql_driver.c
  SQ_ping()sq/mysql_driver.c
  line_type()ud/ud_process_stream.c
  process_transaction()ud/ud_process_stream.c
  transaction_free()ud/ud_misc.c
  transaction_new()ud/ud_misc.c
  TR_delete_record(), UT_timediff(), UT_timeget(), fprintf(), g_string_free(), g_string_sized_new(), g_string_sprintfa(), g_string_truncate()
Called by: UD_do_nrtm()ud/ud_main.c
  UD_do_updates()ud/ud_main.c

Local Function asctime_r()

static char* asctime_r ( const struct tm* __tm, char* __buf )
Included from: /usr/include/time.h
Calls: __posix_asctime_r()

Local Function ctime_r()

static char* ctime_r ( const time_t* __time, char* __buf )
Included from: /usr/include/time.h
Calls: __posix_ctime_r()

Local Function escape_apostrophes()

static GString* escape_apostrophes ( GString* text )
Prototyped in: ud/ud_process_stream.c
Calls: g_string_insert_c()
Called by: process_transaction()ud/ud_process_stream.c

Local Function getlogin_r()

static int getlogin_r ( char* __name, int __len )
Included from: /usr/include/unistd.h
Calls: __posix_getlogin_r()

Local Function line_type()

static Line_Type_t line_type ( const char* line, long* transaction_id )
Calls: atol(), strcmp(), strncmp()
Called by: UD_process_stream()ud/ud_process_stream.c

Local Function process_nrtm()

static int process_nrtm ( UD_stream_t* ud_stream, Transaction_t* tr, int operation )
Prototyped in: ud/ud_process_stream.c
Calls: isdummy()ud/ud_core.c
  object_process()ud/ud_core.c
  report_transaction()ud/ud_process_stream.c
  transaction_free()ud/ud_misc.c
  TR_create_record(), TR_update_record(), UD_comrol_serial(), UD_create_serial(), UD_lock_serial(), UD_unlock_serial(), UT_timeget()
Called by: process_transaction()ud/ud_process_stream.c

Local Function process_transaction()

static int process_transaction ( UD_stream_t* ud_stream, GString* g_obj_buff, int operation, long transaction_id )
Prototyped in: ud/ud_process_stream.c
Calls: ER_dbg_va()er/er.c
  ER_inf_va()er/er.c
  ER_perror()er/er.c
  UD_ack()ud/ud_misc.c
  escape_apostrophes()ud/ud_process_stream.c
  get_object_id()ud/ud_core.c
  process_nrtm()ud/ud_process_stream.c
  process_updates()ud/ud_process_stream.c
  report_transaction()ud/ud_process_stream.c
  rpsl_attr_get_name()rpsl/syntax_api.c
  rpsl_attr_is_key()rpsl/syntax_api.c
  rpsl_get_class_id()rpsl/syntax_api.c
  rpsl_object_copy_flattened()rpsl/syntax_api.c
  rpsl_object_delete()rpsl/syntax_api.c
  rpsl_object_errors()rpsl/syntax_api.c
  rpsl_object_get_all_attr()rpsl/syntax_api.c
  rpsl_object_get_attr_by_ofs()rpsl/syntax_api.c
  rpsl_object_get_class()rpsl/syntax_api.c
  rpsl_object_get_text()rpsl/syntax_api.c
  rpsl_object_init()rpsl/syntax_api.c
  transaction_free()ud/ud_misc.c
  transaction_new()ud/ud_misc.c
  ud_reorder_attributes()ud/ud_process_stream.c
  ud_replace_autonic()ud/ud_process_stream.c
  ud_split_names()ud/ud_process_stream.c
  TR_check(), TR_update_record(), UD_comrol_serial(), UD_create_serial(), UD_lock_serial(), UD_unlock_serial(), UT_timeget(), fprintf(), g_list_foreach(), g_string_sprintfa()
Called by: UD_process_stream()ud/ud_process_stream.c
References Functions: ud_each_primary_key_select()ud/ud_core.c

Local Function process_updates()

static int process_updates ( UD_stream_t* ud_stream, Transaction_t* tr, int operation )
Prototyped in: ud/ud_process_stream.c
Calls: UD_ack()ud/ud_misc.c
  isdummy()ud/ud_core.c
  object_process()ud/ud_core.c
  report_transaction()ud/ud_process_stream.c
  transaction_free()ud/ud_misc.c
  TR_update_record(), UD_comrol_serial(), UD_create_serial(), UD_lock_serial(), UD_unlock_serial(), UT_timeget(), g_string_sprintfa()
Called by: process_transaction()ud/ud_process_stream.c

Local Function readdir_r()

static int readdir_r ( DIR* __dp, struct dirent* __ent, struct dirent** __res )
Included from: /usr/include/dirent.h
Calls: __posix_readdir_r()

Local Function reorder_attr()

static void reorder_attr ( void* element_data, void* ptr )
Prototyped in: ud/ud_process_stream.c
Calls: rpsl_attr_get_ofs()rpsl/syntax_api.c
  rpsl_object_add_attr()rpsl/syntax_api.c
  rpsl_object_remove_attr()rpsl/syntax_api.c
  fprintf()
Used in: ud_reorder_attributes()ud/ud_process_stream.c

Local Function report_transaction()

static int report_transaction ( Transaction_t* tr, long transaction_id, Log_t* log, ut_timer_t* psotime, char* reason )
Prototyped in: ud/ud_process_stream.c
Calls: DF_class_type2name()df/defs.c
  ER_dbg_va()er/er.c
  ER_inf_va()er/er.c
  UT_timediff(), UT_timeget()
Called by: process_nrtm()ud/ud_process_stream.c
  process_transaction()ud/ud_process_stream.c
  process_updates()ud/ud_process_stream.c

Local Function sigwait()

static int sigwait ( const sigset_t* __setp, int* __signo )
Included from: /usr/include/signal.h
Calls: __posix_sigwait()

Local Function ttyname_r()

static int ttyname_r ( int __fildes, char* __buf, size_t __size )
Included from: /usr/include/unistd.h
Calls: __posix_ttyname_r()

Local Function ud_reorder_attributes()

static void ud_reorder_attributes ( rpsl_object_t* object )
Prototyped in: ud/ud_process_stream.c
Calls: rpsl_attr_delete_list()rpsl/syntax_api.c
  rpsl_object_get_attr()rpsl/syntax_api.c
  g_list_foreach()
Called by: process_transaction()ud/ud_process_stream.c
References Functions: reorder_attr()ud/ud_process_stream.c

Local Function ud_replace_autonic()

static nic_handle_t* ud_replace_autonic ( Transaction_t* tr, rpsl_object_t* object )
Prototyped in: ud/ud_process_stream.c
Calls: NH_check()nh/nh.c
  NH_convert()nh/nh.c
  NH_parse()nh/nh.c
  rpsl_attr_copy()rpsl/syntax_api.c
  rpsl_attr_delete()rpsl/syntax_api.c
  rpsl_attr_delete_list()rpsl/syntax_api.c
  rpsl_attr_get_clean_value()rpsl/syntax_api.c
  rpsl_attr_get_ofs()rpsl/syntax_api.c
  rpsl_attr_replace_value()rpsl/syntax_api.c
  rpsl_object_add_attr()rpsl/syntax_api.c
  rpsl_object_get_attr()rpsl/syntax_api.c
  rpsl_object_remove_attr()rpsl/syntax_api.c
  UT_free_real(), fprintf(), g_list_first()
Called by: process_transaction()ud/ud_process_stream.c

Local Function ud_split_names()

static rpsl_object_t* ud_split_names ( rpsl_object_t* object )
Calls: rpsl_attr_get_name()rpsl/syntax_api.c
  rpsl_attr_get_value()rpsl/syntax_api.c
  rpsl_get_class_id()rpsl/syntax_api.c
  rpsl_object_delete()rpsl/syntax_api.c
  rpsl_object_get_all_attr()rpsl/syntax_api.c
  rpsl_object_get_attr_by_ofs()rpsl/syntax_api.c
  rpsl_object_get_class()rpsl/syntax_api.c
  rpsl_object_init()rpsl/syntax_api.c
  g_strfreev(), g_string_free(), g_string_new(), g_string_sprintfa(), g_strsplit()
Called by: process_transaction()ud/ud_process_stream.c