Definition at line 660 of file dns.c.
References node::conn_id, red_node::conn_id, serv::conn_id, Curr_n_services, Debug, dim_get_keepalive_timeout(), dim_print_date_time(), dll_empty(), dll_get_next(), dll_init(), dll_insert_queue(), dll_remove(), dna_set_test_write(), dna_test_write(), dna_write_nowait(), DNS_accepted_nodes, Dns_conns, DNS_DIC_HEADER, DNS_DIC_PACKET::format, Memory::free(), get_dns_accepted_nodes(), i, Memory::malloc(), MAX_NAME, MY_OS9, Net_conns, node::next, serv::next, DNS_DIC_PACKET::node_addr, DNS_CONNECTION::node_addr, serv::node_head, red_serv::node_head, DNS_CONNECTION::node_head, DNS_DIC_PACKET::node_name, DNS_CONNECTION::node_name, DNS_DIC_PACKET::pid, DNS_CONNECTION::pid, DNS_DIC_PACKET::port, DNS_CONNECTION::port, red_node::prev, DNS_DIC_PACKET::protocol, DNS_CONNECTION::protocol, release_conn(), serv::serv_def, serv::serv_name, serv::server_format, DIC_DNS_PACKET::service, DNS_DIC_PACKET::service_def, service_exists(), node::service_id, red_node::service_id, SERVICE_REG::service_id, DNS_DIC_PACKET::service_id, service_insert(), SERVICE_REG::service_name, service_remove(), node::servp, DNS_DIC_PACKET::size, SRC_DIC, SRC_NONE, DNS_CONNECTION::src_type, serv::state, DNS_DIC_PACKET::task_name, and DNS_CONNECTION::task_name.
Referenced by recv_rout().
670 void tcpip_get_addresses();
678 printf(
" Conn %3d : Client %s@%s requested %s\n",
695 ptr1 = strchr(ptr,
',');
704 ptr1 += (int)strlen(ptr);
722 printf(
" Connection from %s refused, stopping client pid=%s\n",
729 printf(
" Stop Client: Couldn't write, releasing Conn %3d : Client %s@%s\n",conn_id,
741 if( service_id == -1 )
745 printf(
"\tRemoving Request\n");
754 (
DLL *) red_nodep)) )
756 if( red_nodep->
conn_id == conn_id )
759 ptr = (
char *)red_nodep - (2 *
sizeof(
void *));
762 red_nodep = red_nodep->
prev;
771 printf(
"\tand Removing Service\n");
781 if( (
unsigned)service_id & 0x80000000 )
783 service_id &= 0x7fffffff;
786 printf(
"\tRemoving Request\n");
795 (
DLL *) red_nodep)) )
797 if(( red_nodep->
conn_id == conn_id ) &&
801 ptr = (
char *)red_nodep - (2 *
sizeof(
void *));
804 red_nodep = red_nodep->
prev;
813 printf(
"\tand Removing Service\n");
836 printf(
"\tService does not exist, queueing request\n");
858 nodep->
servp = servp;
866 if( servp->
state == 1 )
879 for(i = 0; i < 4; i++)
889 printf(
"\tService exists in %s@%s, port = %d\n",
899 if(servp->
state == -1)
901 printf(
"\tService exists in BAD state, queueing request\n");
906 printf(
"\tService does not exist (other client(s) waiting), queueing request\n");
920 nodep->
servp = servp;
932 printf(
" Client Request: Couldn't write, releasing Conn %3d : Client %s@%s\n",conn_id,
char node_name[MAX_NODE_NAME]
static void release_conn(int conn_id)
int dim_get_keepalive_timeout()
void dna_test_write(int conn_id)
DllExp DIM_NOSHARE DNS_CONNECTION * Dns_conns
DllExp DIM_NOSHARE NET_CONNECTION * Net_conns
void dll_insert_queue(DLL *head, DLL *item)
static char DNS_accepted_nodes[1024]
char service_def[MAX_NAME]
void dna_set_test_write(int conn_id, int time)
char node_name[MAX_NODE_NAME]
char service_name[MAX_NAME]
void dll_remove(DLL *item)
void service_remove(RED_DNS_SERVICE *servp)
char task_name[MAX_TASK_NAME-4]
int get_dns_accepted_nodes(char *nodes)
void service_insert(RED_DNS_SERVICE *servp)
DNS_SERVICE * service_exists(char *name)
int dna_write_nowait(int conn_id, void *buffer, int size)
DLL * dll_get_next(DLL *head, DLL *item)
void dim_print_date_time()
char task_name[MAX_TASK_NAME-4]
static int Curr_n_services