63 timeout_ms = response_time -
72 timeout_ms =
CURLMIN(timeout_ms, timeout2_ms);
92 failf(data,
"server response timeout");
98 if(timeout_ms < interval_ms)
99 interval_ms = timeout_ms;
130 failf(data,
"select/poll error");
174 enum protection_level data_sec = conn->data_prot;
181 fmt_crlf =
aprintf(
"%s\r\n", fmt);
191 write_len = strlen(s);
203 conn->data_prot = PROT_CMD;
208 DEBUGASSERT(data_sec > PROT_NONE && data_sec < PROT_LAST);
209 conn->data_prot = data_sec;
219 s, (
size_t)bytes_written, conn);
221 if(bytes_written != (
ssize_t)write_len) {
225 pp->
sendleft = write_len - bytes_written;
249 const char *fmt, ...)
309 enum protection_level prot = conn->data_prot;
310 conn->data_prot = PROT_CLEAR;
319 conn->data_prot = prot;
324 if(!result && (gotbytes > 0))
336 else if(gotbytes <= 0) {
339 failf(data,
"response reading failed");
347 bool restart =
FALSE;
352 for(i = 0; i < gotbytes; ptr++, i++) {
360 if(!conn->sec_complete)
395 if(!keepon && (i != gotbytes)) {
400 clipamount = gotbytes -
i;
402 DEBUGF(
infof(data,
"Curl_pp_readresp_ %d bytes of trailing " 403 "server response left\n",
408 if((perline == gotbytes) && (gotbytes > data->
set.
buffer_size/2)) {
412 infof(data,
"Excessive server response line length received, " 413 "%zd bytes. Stripping\n", gotbytes);
424 clipamount = perline;
428 else if(i == gotbytes)
int Curl_debug(struct Curl_easy *data, curl_infotype type, char *ptr, size_t size, struct connectdata *conn)
CURLcode Curl_pp_disconnect(struct pingpong *pp)
long server_response_timeout
CURLcode Curl_pp_vsendf(struct pingpong *pp, const char *fmt, va_list args)
UNITTEST_START char * ptr
#define GETSOCK_READSOCK(x)
CURLcode Curl_pp_flushsend(struct pingpong *pp)
UNITTEST_START int result
CURLcode(* statemach_act)(struct connectdata *conn)
int Curl_pgrsUpdate(struct connectdata *conn)
memcpy(filename, filename1, strlen(filename1))
#define Curl_ssl_data_pending(x, y)
bool(* endofresp)(struct connectdata *conn, char *ptr, size_t len, int *code)
CURLcode Curl_pp_statemach(struct pingpong *pp, bool block)
#define Curl_convert_from_network(a, b, c)
#define Curl_convert_to_network(a, b, c)
#define CLIENTWRITE_HEADER
CURLcode Curl_write(struct connectdata *conn, curl_socket_t sockfd, const void *mem, size_t len, ssize_t *written)
#define GETSOCK_WRITESOCK(x)
CURLcode Curl_speedcheck(struct Curl_easy *data, struct curltime now)
CURLcode Curl_client_write(struct connectdata *conn, int type, char *ptr, size_t len)
int Curl_pp_getsock(struct pingpong *pp, curl_socket_t *socks, int numsocks)
bool Curl_pp_moredata(struct pingpong *pp)
int Curl_socket_check(curl_socket_t readfd0, curl_socket_t readfd1, curl_socket_t writefd, time_t timeout_ms)
void Curl_pp_init(struct pingpong *pp)
struct connectdata * conn
CURLcode Curl_pp_sendf(struct pingpong *pp, const char *fmt,...)
#define Curl_tvdiff(x, y)
CURLcode Curl_pp_readresp(curl_socket_t sockfd, struct pingpong *pp, int *code, size_t *size)
time_t Curl_pp_state_timeout(struct pingpong *pp)
CURLcode Curl_read(struct connectdata *conn, curl_socket_t sockfd, char *buf, size_t sizerequested, ssize_t *n)