Lines Matching refs:sv
102 CleanServerVariable(struct server_vars *sv) in CleanServerVariable() argument
104 sv->recv_len = 0; in CleanServerVariable()
105 sv->request_len = 0; in CleanServerVariable()
106 sv->total_read = 0; in CleanServerVariable()
107 sv->total_sent = 0; in CleanServerVariable()
108 sv->done = 0; in CleanServerVariable()
109 sv->rspheader_sent = 0; in CleanServerVariable()
110 sv->keep_alive = 0; in CleanServerVariable()
114 CloseConnection(struct thread_context *ctx, int sockid, struct server_vars *sv) in CloseConnection() argument
121 SendUntilAvailable(struct thread_context *ctx, int sockid, struct server_vars *sv) in SendUntilAvailable() argument
127 if (sv->done || !sv->rspheader_sent) { in SendUntilAvailable()
134 len = MIN(SNDBUF_SIZE, sv->fsize - sv->total_sent); in SendUntilAvailable()
139 fcache[sv->fidx].file + sv->total_sent, len); in SendUntilAvailable()
149 sv->total_sent += ret; in SendUntilAvailable()
152 if (sv->total_sent >= fcache[sv->fidx].size) { in SendUntilAvailable()
154 sv->done = TRUE; in SendUntilAvailable()
157 if (sv->keep_alive) { in SendUntilAvailable()
163 CleanServerVariable(sv); in SendUntilAvailable()
166 CloseConnection(ctx, sockid, sv); in SendUntilAvailable()
174 HandleReadEvent(struct thread_context *ctx, int sockid, struct server_vars *sv) in HandleReadEvent() argument
194 memcpy(sv->request + sv->recv_len, in HandleReadEvent()
195 (char *)buf, MIN(rd, HTTP_HEADER_LEN - sv->recv_len)); in HandleReadEvent()
196 sv->recv_len += rd; in HandleReadEvent()
199 sv->request_len = find_http_header(sv->request, sv->recv_len); in HandleReadEvent()
200 if (sv->request_len <= 0) { in HandleReadEvent()
204 sockid, rd, sv->recv_len, in HandleReadEvent()
205 sv->request_len, strlen(sv->request), sv->request); in HandleReadEvent()
209 http_get_url(sv->request, sv->request_len, url, URL_LEN); in HandleReadEvent()
211 sprintf(sv->fname, "%s%s", www_main, url); in HandleReadEvent()
212 TRACE_APP("Socket %d File name: %s\n", sockid, sv->fname); in HandleReadEvent()
215 sv->keep_alive = FALSE; in HandleReadEvent()
216 if (http_header_str_val(sv->request, CONN_HDR_FLD, in HandleReadEvent()
218 sv->keep_alive = !strcasecmp(keepalive_str, KEEP_ALIVE_STR); in HandleReadEvent()
224 if (strcmp(sv->fname, fcache[i].fullname) == 0) { in HandleReadEvent()
225 sv->fsize = fcache[i].size; in HandleReadEvent()
226 sv->fidx = i; in HandleReadEvent()
232 sockid, sv->fsize, sv->fsize / 1024 / 1024); in HandleReadEvent()
237 if (sv->keep_alive) in HandleReadEvent()
247 scode, StatusCodeToString(scode), t_str, sv->fsize, keepalive_str); in HandleReadEvent()
254 CloseConnection(ctx, sockid, sv); in HandleReadEvent()
259 sv->rspheader_sent = TRUE; in HandleReadEvent()
265 SendUntilAvailable(ctx, sockid, sv); in HandleReadEvent()
274 struct server_vars *sv; in AcceptConnection() local
286 sv = &ctx->svars[c]; in AcceptConnection()
287 CleanServerVariable(sv); in AcceptConnection()
543 struct server_vars *sv = &ctx->svars[events[i].data.sock]; in RunServer() local
544 if (sv->rspheader_sent) { in RunServer()
545 SendUntilAvailable(ctx, events[i].data.sock, sv); in RunServer()