ipkn / crow

Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask)
BSD 3-Clause "New" or "Revised" License
7.43k stars 889 forks source link

hi,about the http sequence #417

Open suppersam1 opened 1 year ago

suppersam1 commented 1 year ago

Hi, may I ask if the HTTP requests from the same route in the crow are strictly executed in sequence, and if the requests from the same route are stored in a queue and then executed in FIFO order

suppersam1 commented 1 year ago

I'm not very familiar with boost:: asio:: io_ service, I have looked at the code for crow and found that without opening multiple threads, only one thread calls boost:: asio:: io_service. run() method. Does this mean that HTTP requests will be executed sequentially?

gittiver commented 1 year ago

not exactly, io processes have also wait states where the next request can be started. so they can be executed at least partially overlapping. maybe that is a good start to read: https://think-async.com/Asio/asio-1.26.0/doc/asio/overview/model/async_ops.html

suppersam1 commented 1 year ago

not exactly, io processes have also wait states where the next request can be started. so they can be executed at least partially overlapping. maybe that is a good start to read: https://think-async.com/Asio/asio-1.26.0/doc/asio/overview/model/async_ops.html

Is there any way to solve this problem?The Crow framework seems unable to strictly follow the order of HTTP requests.