2626query_status_t
2727qserver_send_initial (struct qserver * server , const char * data , size_t len )
2828{
29- int status = INPROGRESS ;
29+ query_status_t status ;
3030
31- if (data ) {
32- int ret ;
33- debug (2 , "[%s] send" , server -> type -> type_prefix );
34- if (4 <= get_debug_level ()) {
35- output_packet (server , data , len , 1 );
36- }
37-
38- if (server -> flags & FLAG_BROADCAST ) {
39- ret = send_broadcast (server , data , len );
40- } else {
41- ret = send (server -> fd , data , len , 0 );
42- }
43-
44- if (ret == SOCKET_ERROR ) {
45- send_error (server , ret );
46- status = SYS_ERROR ;
47- }
48- }
31+ status = send_packet_raw (server , data , len );
4932
5033 if ((server -> retry1 == n_retries ) || server -> flags & FLAG_BROADCAST ) {
5134 gettimeofday (& server -> packet_time1 , NULL );
@@ -59,25 +42,12 @@ qserver_send_initial(struct qserver *server, const char *data, size_t len)
5942 return (status );
6043}
6144
62-
6345query_status_t
6446qserver_send (struct qserver * server , const char * data , size_t len )
6547{
66- int status = INPROGRESS ;
48+ query_status_t status ;
6749
68- if (data ) {
69- int ret ;
70- if (server -> flags & FLAG_BROADCAST ) {
71- ret = send_broadcast (server , data , len );
72- } else {
73- ret = send (server -> fd , data , len , 0 );
74- }
75-
76- if (ret == SOCKET_ERROR ) {
77- send_error (server , ret );
78- status = SYS_ERROR ;
79- }
80- }
50+ status = send_packet_raw (server , data , len );
8151
8252 server -> retry1 = n_retries - 1 ;
8353 gettimeofday (& server -> packet_time1 , NULL );
@@ -87,7 +57,6 @@ qserver_send(struct qserver *server, const char *data, size_t len)
8757 return (status );
8858}
8959
90-
9160int
9261send_broadcast (struct qserver * server , const char * pkt , size_t pktlen )
9362{
@@ -105,7 +74,6 @@ send_broadcast(struct qserver *server, const char *pkt, size_t pktlen)
10574 return (sendto (server -> fd , (const char * )pkt , pktlen , 0 , (struct sockaddr * )& addr , sizeof (addr )));
10675}
10776
108-
10977int
11078register_send (struct qserver * server )
11179{
@@ -124,9 +92,8 @@ register_send(struct qserver *server)
12492 return (INPROGRESS );
12593}
12694
127-
12895query_status_t
129- send_packet (struct qserver * server , const char * data , size_t len )
96+ send_packet_raw (struct qserver * server , const char * data , size_t len )
13097{
13198 debug (2 , "[%s] send" , server -> type -> type_prefix );
13299 if (4 <= get_debug_level ()) {
@@ -146,11 +113,21 @@ send_packet(struct qserver *server, const char *data, size_t len)
146113 }
147114 }
148115
149- register_send (server );
150-
151116 return (INPROGRESS );
152117}
153118
119+ query_status_t
120+ send_packet (struct qserver * server , const char * data , size_t len )
121+ {
122+ query_status_t rc ;
123+
124+ rc = send_packet_raw (server , data , len );
125+ if (rc == SYS_ERROR ) {
126+ return (rc );
127+ }
128+
129+ return (register_send (server ));
130+ }
154131
155132query_status_t
156133send_error (struct qserver * server , int rc )
@@ -164,6 +141,6 @@ send_error(struct qserver *server, int rc)
164141 (ipaddr >> 8 ) & 0xff ,
165142 ipaddr & 0xff ,
166143 errstr
167- );
144+ );
168145 return (SYS_ERROR );
169146}
0 commit comments