Hi Christian,
I'm using following options, single threaded external epoll:
auto mhdDaemon = MHD_start_daemon (MHD_USE_EPOLL |
MHD_ALLOW_SUSPEND_RESUME | MHD_USE_ERROR_LOG | MHD_USE_TURBO | MHD_USE_DEBUG,
0,
NULL, NULL, &Server::httpServerAccessHandlerCb, this,
MHD_OPTION_SOCK_ADDR, &addr,
MHD_OPTION_CONNECTION_TIMEOUT, MHD_DEF_CONN_TIMEOUT,
MHD_OPTION_CONNECTION_LIMIT, maxConcrrntConn,
MHD_OPTION_EXTERNAL_LOGGER, &Server::httpServerErrorHandler, this,
MHD_OPTION_NOTIFY_COMPLETED, &Server::httpServerRequestCompleted, this,
MHD_OPTION_END);
Observing that MHD is not processing the upload data for few(other request are successfully completed) of the requests when there is data associated with it. e.g PUT/GET/DELETE with data < approx 2KB.
logs for ref:
httpServerRequestCompleted:940: Request complete on txn:3522 termCode:0\"}
httpServerAccessHandlerCb:653: Incoming req, inserting txnId:3523 in map\"} -- new request
httpServerAccessHandlerCb:671: Incoming req, upload data size:1607\"}
httpServerRequestCompleted:940: Request complete on txn:3523 termCode:5\"} -- doesn't process the uploaded data eventually error when client(libcurl) times out.
httpServerAccessHandlerCb:653: Incoming req, inserting txnId:3524 in map\"}\
Do you see any issue ?
Regards,
Kunal