Commit Graph

1621 Commits

Author SHA1 Message Date
Mohammad Nejati
1fc5512b92 Fixed -Wmaybe-uninitialized warnings
These warnings are only triggered when a combination of
`-Wmaybe-uninitialized` and `-ftrivial-auto-var-init=zero` is used
with GCC 14.2 or later.
2025-07-19 20:23:55 +03:30
Danijel Zlaus
e99590f163 Fix uninitialized variable
Error manifests when using GCC 15.1 with the following flags '-Wall Werror=uninitialized -fhardened'
2025-07-19 20:23:55 +03:30
Mohammad Nejati
3772c1113e Version 358 2025-07-08 18:03:42 +03:30
Mohammad Nejati
1edc287c05 Fix std::is_trivial deprecation warnings 2025-07-08 18:03:42 +03:30
Mohammad Nejati
19c38c308a Replace detail/work_guard.hpp with net::executor_work_guard
In newer versions of Asio, `executor_work_guard<>` can be used even when
`ASIO_NO_TS_EXECUTORS` is defined.
2025-04-27 16:08:05 +03:30
Mohammad Nejati
78478557f6 Conditionally define immediate_executor_type in async_base
Fixes #3002
2025-04-27 16:08:05 +03:30
Yuhan Liu
f60f7c152f added cstdint include 2025-04-26 22:09:35 +03:30
Mohammad Nejati
1f3c4089ab Use handshake_timeout for closing handshake during read operations
Fixes #2999
2025-04-26 21:17:00 +03:30
Mohammad Nejati
fecd29050a Version 357 2025-02-28 16:38:36 +03:30
Mohammad Nejati
4e384f086b async_read_some documentation mentions how to identify message completion
Closes #2969
2025-02-11 12:41:30 +03:30
Mohammad Nejati
8c3d8a907d Improve documentation of websocket::stream::async_close
Addresses #2730
2025-02-11 12:23:01 +03:30
Mohammad Nejati
95386da791 Update websocket idle timer upon receiving a ping message 2025-02-09 18:25:10 +03:30
Morten Minde Neergaard
f9387fda71 websockets: Count pings from server as activity for idle_timeout
If the stream is receiving control packets like ping, don't count it as
idle. This means you can enable `timeout_opt.keep_alive_ping` on only
one side to get heartbeat.

Make tests that verify current behaviour.

Update documentation to match changes in PR #2718.

Addresses issue #2716
2025-02-09 18:25:10 +03:30
Mohammad Nejati
8b379d4fb1 Fix out-of-band access issue in iequals function 2024-12-16 10:29:07 +03:30
Mohammad Nejati
f42d178249 Version 356 2024-11-05 16:50:36 +03:30
Mohammad Nejati
71cea5c4d9 Fix -Wdeprecated-literal-operator warnings
Fixes #2946
2024-11-05 16:50:36 +03:30
Mohammad Nejati
4ea56c4b39 Fix unreachable code warning in tests 2024-10-26 15:33:15 +03:30
Mohammad Nejati
0078272001 Add forward declaration headers 2024-10-17 17:23:08 +03:30
Mohammad Nejati
207737695a Remove static specifier from clamp functions
Fixes #2939
2024-10-17 17:23:08 +03:30
Mohammad Nejati
333b5511da stream_state.ipp: add missing include 2024-09-04 22:37:14 +03:30
Mohammad Nejati
cbcf6cb262 basic_stream: Fix call to net::dispatch
Fixes #2925
2024-09-04 19:18:00 +03:30
Saleh Hatefinya
21545dbcaf Make permessage-deflate status queryable in websocket::stream 2024-09-01 17:51:11 +03:30
Mohammad Nejati
aefc564fa7 basic_parser: remove skip_ usage 2024-08-22 00:22:16 +03:30
Mohammad Nejati
b1f377b2eb basic_parser: set state_ before calling on_finish_impl 2024-08-22 00:22:16 +03:30
Mohammad Nejati
a620d4175a basic_parser: apply header_limit_ to trailer headers 2024-08-22 00:22:16 +03:30
Mohammad Nejati
f181fbf6e4 basic_parser returns error::header_limit ealier 2024-08-22 00:22:16 +03:30
Mohammad Nejati
a9c4a19f26 parser uses basic_fields::insert() with error_code overload 2024-08-22 00:22:16 +03:30
Mohammad Nejati
2e6d9bb491 Add overload for basic_fields::insert() to set error_code 2024-08-22 00:22:16 +03:30
Mohammad Nejati
848e20680f Fix cancellation in teardown_tcp_op 2024-08-06 15:42:40 +03:30
Mohammad Nejati
5f5507f647 Initiating functions no longer perform mutating operations
Using `asio::deferred` as a completion token defers the initiation of
operations and creates a lazy operation which might even be discarded.
We need to move mutating operations to the initiator function objects or
the constructor of operation objects, which are guaranteed to run when
the deferred operation is launched.
2024-08-06 15:42:40 +03:30
Mohammad Nejati
2427765fb3 Fix friend declarations of asio::associator<>
`asio::associator<>` has got an extra template parameter that enables
SFINAE-based partial specialization:
4928948a6e"
2024-07-10 15:24:59 +03:30
Mohammad Nejati
ef10d6eba2 Version 355 2024-07-08 12:13:16 +03:30
Mohammad Nejati
aabd5b51d3 net::prepend is replaced with net::append 2024-07-07 14:58:49 +03:30
Mohammad Nejati
dadd1bc785 fix narrowing conversion in read_size_hint_db() 2024-07-07 14:58:49 +03:30
Mohammad Nejati
75812db90a get_executor() works on initiation objects
This is required for the new `asio::cancel_at` and `asio::cancel_after`
completion token adapters to work.
2024-07-04 19:49:41 +03:30
Christopher Kohlhoff
1a2b85b7a4 Fix overloads that are ambiguous when using default completion tokens 2024-06-27 16:33:10 +03:30
Mohammad Nejati
e7f49190ef Fix basic_fields move assignment
Fixes #2517
2024-06-09 18:23:12 +03:30
Mohammad Nejati
b5d7c9998b Version 354 2024-06-06 18:00:54 +03:30
Mohammad Nejati
74d28c030d Partial writes don't cause bytes_transferred underflow
Fixes #2880
2024-06-06 17:58:25 +03:30
Mohammad Nejati
767397e0c1 read_size_hint does not exceed read_message_max
Fixes #2879
2024-06-06 00:49:08 +03:30
Alexander Kernozhitsky
4bff457ef7 Add 418 I'm a teapot HTTP status 2024-06-03 17:59:18 +03:30
Mohammad Nejati
8da9a776ff Suppress -Wnoexcept-type warnings 2024-06-01 18:54:19 +03:30
Mohammad Nejati
9c7777e7f0 ssl_stream and flat_stream are deprecated 2024-05-31 16:45:52 +03:30
Mohammad Nejati
bd804b6520 ssl_stream does not use flat_stream
We no longer need to use flat_stream to improve write performance, as
Asio now linearizes scatter/gather I/O in ssl::stream:
17637a48cc
2024-05-31 16:45:52 +03:30
Orgad Shaneh
55035d17c5 zlib: Annotate fallthrough case 2024-05-20 13:45:40 +03:30
Mohammad Nejati
2dcdef3890 Handle expired timers in basic_stream transfer_op
Previously, the code only handled expired timers when the buffer was empty.
2024-05-13 22:17:17 +03:30
Mohammad Nejati
59310dddac Fix ambiguity in test::basic_stream constructor overloads 2024-05-11 13:20:25 +03:30
Ruslan Zakirov
3461ad1a2b fix asserts, it's possible that we reach code only with 3 symbols
This happens when:
* chunked encoding
* body is empty
* chunk has no extensions
* and put calls are really weird
2024-05-10 17:28:19 +03:30
Mohammad Nejati
98b8be489f Exclude Asio executor type traits from docs 2024-04-05 21:29:43 +03:30
Mohammad Nejati
54ad4ba714 Fix dereferenced null pointer warning in test::immediate_executor 2024-03-31 18:59:36 +03:30