libhv的大坑,http服务器收到多次请求后,内存耗尽导致core dump
·
HttpResponseWriter writer;
排查下来,发现是writer没有调用Begin 这个函数。。。。。。
吐槽下,这里的api设计的真的有点反人类。。。
enum State {
SEND_BEGIN,
SEND_HEADER,
SEND_BODY,
SEND_CHUNKED,
SEND_CHUNKED_END,
SEND_END,
} state;
....
// Begin -> End
// Begin -> WriteResponse -> End
// Begin -> WriteStatus -> WriteHeader -> WriteBody -> End
// Begin -> EndHeaders("Content-Length", content_length) -> WriteBody -> WriteBody -> ... -> End
// Begin -> EndHeaders("Transfer-Encoding", "chunked") -> WriteChunked -> WriteChunked -> ... -> End
int Begin() {
state = SEND_BEGIN;
return 0;
}
更多推荐


所有评论(0)