Commit Graph

56 Commits

Author SHA1 Message Date
bugdea1er e3ff9238a4 Add option to use Boost.Asio 2024-04-19 17:06:13 +02:00
na-trium-144 921ce6f972 fix order of destructor call of io_service 2024-01-01 22:51:05 +01:00
Vasileios Anagnostopoulos d5e0523602 Fix memory leaks caused from the http_connection
This memory leak was caused from the fact that we were creating a raw
pointers in the do_accept method of the http_server. The initial
connection was never released, but all subsequent connection
were released without problem. So this commit introduces shared_ptr
to manage all the connection and release the memory when the
connection is not needed any more.

Signed-off-by: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com>
2023-05-14 13:38:42 +02:00
Luca Schlecker 3a485078b8 rework the way asio is handled as a dependency. 2022-06-22 18:14:09 +02:00
Luca Schlecker 2fbf93e211 replace std::error_code with asio::error_code.
This makes the code more consistent and also reflects the intention a little better.
2022-06-18 17:21:37 +03:00
Luca Schlecker 5b1c5a9e9e removing some boost includes, fixing version checks and further phase out boost. 2022-06-18 17:21:37 +03:00
Luca Schlecker f3d00bbecf replace boost::asio with standalone asio. 2022-06-18 17:21:37 +03:00
Luca Schlecker c780642dd8 http_server: replace boost::asio::deadline_timer with a standalone asio equivalent. 2022-06-18 17:21:37 +03:00
Luca Schlecker 78f764791e remove 'using namespace boost' declarations. 2022-06-18 17:21:37 +03:00
erik 3782044249 Fixed race condition: calling stop() immediately after async_run() and wait_for_server_start() could lead to deadlock
This is the case in some short, simple unit tests, such as "get_port".
2022-06-13 10:53:27 +02:00
The-EDev f2b63f23f5
Fix for issue where app.stop() blocks when a websocket is open 2022-05-20 14:14:55 +03:00
The-EDev 5fcaa19163
should_close_ -> shutting_down_ 2022-05-18 14:08:40 +03:00
The-EDev cfc4281e3b
Prevent acceptor from taking new connections while websockets close 2022-05-18 13:49:50 +03:00
The-EDev 333b49bf04
Replaced `do_not_destroy_` with `adaptor_.shutdown_readwrite()` +
formatting
2022-05-18 12:28:51 +03:00
Farook Al-Sammarraie 9f99be55e1
Merge branch 'master' into ws_close 2022-05-14 18:56:39 +03:00
Kinshuk Bairagi de16aab1a9 Fix for cpp/comparison-with-wider-type 2022-04-26 05:30:31 +03:00
The-EDev 7aee13eee9
Changed the way concurrency is used
(it actually reflects the thread count properly)
2021-12-23 05:39:39 +03:00
The-EDev 77758e6241
Have `concurrency` represent the actual number threads used 2021-12-20 11:04:55 +03:00
The-EDev 13768371a9
Fixed problems with signals 2021-12-08 05:21:03 +03:00
Maxime BELUGUET a997c2b69f Formatting 2021-12-07 14:15:11 +01:00
Maxime BELUGUET 95083c1c9e Improve pick_io_service_idx 2021-12-07 11:06:18 +01:00
Maxime BELUGUET 874b4d2da0
Apply suggestions from code review
Add debug verbosity

Co-authored-by: Farook Al-Sammarraie <farook@the-e-dev.com>
2021-12-07 10:58:40 +01:00
Maxime BELUGUET 06332c46b8 Move queue length initialisation 2021-12-03 17:40:10 +01:00
Maxime BELUGUET 31143b9f06 Fix atomic queue_length initialisation 2021-11-30 19:54:37 +01:00
Maxime BELUGUET 2607bf5791 Change += to ++, add queue length decrementation on error 2021-11-30 19:22:07 +01:00
Maxime BELUGUET f8af9eb187 Formatting 2021-11-30 18:14:16 +01:00
Maxime BELUGUET 0f6043f60d Add basic load balancing #258 #182 2021-11-29 16:56:12 +01:00
Luca Schlecker 7e4f1494d2 improved lambda bracing by inlining only empty lambdas.
Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-27 19:22:35 +01:00
The-EDev 03e59aa446
improved bracing rules, commented out clang-format 14 rule 2021-11-27 15:28:50 +03:00
The-EDev 7f4b7c8ff9
created new rules, used bot to enforce rules in PRs 2021-11-25 14:45:38 +03:00
The-EDev 5440489640
Added protocol to log URL when starting crow 2021-11-22 16:03:55 +03:00
Luca Schlecker 1fc5c566af remove unused ssl code.
Seems like a leftover from when https was first implemented.

Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-22 02:45:08 +01:00
Luca Schlecker 250c793c48 http_server: fix reordering warning.
The introduced `timeout_` variable was initialized in a different order than the member initializer list suggested.

Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-21 15:45:46 +01:00
Luca Schlecker de92d28f29 replace `dumb_timer_queue` with new `task_timer`.
fixes #264, lays ground for #273 and #257.

Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-19 18:55:10 +01:00
Florian Rupprecht 5bb7fac016 Get app port 2021-11-14 13:04:19 +01:00
The-EDev fd6de9bc05
Added functionality to close websocket connections before the app is
terminated.
This is incomplete and needs more work.
2021-11-06 06:06:18 +03:00
Luca Schlecker 21c872e771 Revert "defining CROW_ENABLE_SSL disables non SSL code"
This reverts commit 10f3238ffc.
2021-08-31 18:14:05 +02:00
The-EDev 10f3238ffc defining CROW_ENABLE_SSL disables non SSL code 2021-08-21 05:19:51 +03:00
Igor Mróz 1d270fae19
Add release script. Change server name to use release version to build name. 2021-07-03 22:02:32 +02:00
The-EDev fc27f73f84 Bump server version to 0.3 2021-06-05 06:30:01 +03:00
The-EDev 111bef9deb use actual ASIO port instead of the local port variable
this is useful when using port 0 to have the OS provide a free port
2021-04-04 08:09:59 +03:00
Sfinktah Bungholio 740bd266e7 fixes for **some** msvc compatibility issues 2021-02-09 03:25:02 +11:00
Nick Rizzo 3945251869 [fix] Make signal handler optional 2020-12-19 14:05:27 -05:00
Makaveli 9bc030478f Settable server name feature 2020-12-02 20:15:05 -05:00
The-EDev 4a42a6fbae bump server version to 0.2
also fixed a chmod issue in travis
2020-10-31 23:56:50 +03:00
Igor Mróz 942fcd1bc9
Check if number of threads is valid. 2020-10-19 19:26:46 +02:00
Igor Mróz 7b8b72bd11
Remove conanfile. Update mustache specification jsons. Remove compilation warnings. Update CMake version. Change test framework to Catch2. 2020-10-19 18:32:16 +02:00
Mark Meredith 6974d3fcf9 Use gmtime_s on MinGW 2017-12-24 12:38:52 -05:00
ipknHama 2c26b6c1de Change default settings
- disable crow debug mode by default
 - expose `loglevel` method on `App` to change the logging level easily
 - add a startup message that guides how to change the logging level
2017-09-18 02:58:53 +09:00
Jaeseung Ha 08acc7c0be Merge branch 'master' into master 2017-09-18 00:43:42 +09:00