Faster default_resource for files smaller than buffer_size.
This commit is contained in:
parent
525eb2983b
commit
0acc7455f8
2 changed files with 22 additions and 14 deletions
|
|
@ -109,15 +109,19 @@ int main() {
|
|||
|
||||
response << "HTTP/1.1 200 OK\r\nContent-Length: " << length << "\r\n\r\n";
|
||||
|
||||
//read and send 128 KB at a time
|
||||
//read and send 128 KB at a time if file-size>buffer_size
|
||||
size_t buffer_size=131072;
|
||||
vector<char> buffer(buffer_size);
|
||||
stringstream ss;
|
||||
size_t read_length;
|
||||
while((read_length=ifs.read(&buffer[0], buffer_size).gcount())>0) {
|
||||
ss.write(&buffer[0], read_length);
|
||||
response << ss.rdbuf() << HttpsServer::flush;
|
||||
if(length>buffer_size) {
|
||||
vector<char> buffer(buffer_size);
|
||||
stringstream ss;
|
||||
size_t read_length;
|
||||
while((read_length=ifs.read(&buffer[0], buffer_size).gcount())>0) {
|
||||
ss.write(&buffer[0], read_length);
|
||||
response << ss.rdbuf() << HttpServer::flush;
|
||||
}
|
||||
}
|
||||
else
|
||||
response << ifs.rdbuf();
|
||||
|
||||
ifs.close();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue