Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple Network Framework Socket Changes #662

Merged
merged 226 commits into from
Mar 17, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
226 commits
Select commit Hold shift + click to select a range
14a3386
socket related from network_framework_integration branch
sbSteveK Jul 29, 2024
9715a3e
Merge branch 'grand_dispatch_queue' into nw_socket
sbSteveK Jul 29, 2024
b830a86
missed s_socket_listen
sbSteveK Jul 29, 2024
cccbda2
move aws_socket_init_poll_based platform not supported function into …
sbSteveK Jul 30, 2024
caac9a5
small cleanups/comments
sbSteveK Jul 30, 2024
eb59ff1
Merge branch 'grand_dispatch_queue' into nw_socket
sbSteveK Jul 30, 2024
8a794de
nw_socket.c changes
sbSteveK Aug 8, 2024
553d45f
add nw_connection_t to nw_socket
sbSteveK Aug 9, 2024
cf610e9
read from socket works
sbSteveK Aug 12, 2024
07bac64
remove prints
sbSteveK Aug 13, 2024
dd1fbf2
trivial edits
sbSteveK Aug 13, 2024
2fd514c
check correct vtable func
sbSteveK Aug 13, 2024
2a0da42
clang format
sbSteveK Aug 13, 2024
9cc6620
socket_test add a manual way to set event_loop_style in options
sbSteveK Aug 13, 2024
e3281ee
event_loop add undefined event loop style and clang format
sbSteveK Aug 13, 2024
43fd436
clang format
sbSteveK Aug 13, 2024
1c1cd02
event_loop.c clang formatting and configurations
sbSteveK Aug 13, 2024
88f6de3
formatting
sbSteveK Aug 13, 2024
cf53cc6
format
sbSteveK Aug 13, 2024
a7ab224
macos errors
sbSteveK Aug 13, 2024
62fd06d
fix test
sbSteveK Aug 13, 2024
cbb8c42
formatting
sbSteveK Aug 13, 2024
4ce33ee
test fix
sbSteveK Aug 13, 2024
29ab896
prototype void
sbSteveK Aug 13, 2024
f9cd5d0
fix style func
sbSteveK Aug 13, 2024
2e55d2d
sprintf -> snprintf
sbSteveK Aug 13, 2024
6938bc3
manual default change for testing
sbSteveK Aug 21, 2024
4658492
Merge branch 'grand_dispatch_queue' into nw_socket
sbSteveK Sep 3, 2024
ef8d53f
Merge branch 'grand_dispatch_queue' of https://github.com/awslabs/aws…
xiazhvera Sep 11, 2024
731ba49
setup connection timeout
xiazhvera Sep 13, 2024
bac8b07
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Sep 17, 2024
429bf26
remove debug changes
xiazhvera Sep 17, 2024
2282f8f
Branched nw_socket work (#674)
sbSteveK Sep 24, 2024
8e7b351
veriify_peer spelling
sbSteveK Sep 24, 2024
54e58e9
remove redundant secure_transport_ctx
sbSteveK Sep 24, 2024
b01b510
channel_args creation simplification
sbSteveK Sep 24, 2024
5b5a953
empty line
sbSteveK Sep 24, 2024
b7f13df
clang formatting
sbSteveK Sep 24, 2024
b325809
more clang
sbSteveK Sep 24, 2024
86b4343
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Sep 26, 2024
9471d05
fix merge error and socket completion hanlder changes
xiazhvera Sep 26, 2024
789d446
fix cmakefile
xiazhvera Sep 26, 2024
33aa640
Merge branch 'grand_dispatch_queue' into nw_socket
sbSteveK Oct 3, 2024
68fa441
Clean Up Socket Vtable (#678)
xiazhvera Oct 4, 2024
a47fd44
remove platform.h
xiazhvera Oct 4, 2024
b4cd993
remove platform.h
xiazhvera Oct 4, 2024
d071082
[WIP]nw_socket protect socket data with lock (#685)
xiazhvera Oct 15, 2024
dd33861
clean up comments
xiazhvera Oct 15, 2024
f950453
more read me and clean up
xiazhvera Oct 15, 2024
c188594
add logs to track tls_channel_shutdown_with_cache_window_update_after…
xiazhvera Oct 15, 2024
6a1c03a
clang-format
xiazhvera Oct 15, 2024
871ae9b
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Oct 15, 2024
a0be9d2
clean up comments
xiazhvera Oct 16, 2024
32728ba
wait for socket release
xiazhvera Oct 16, 2024
9e8015c
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Oct 16, 2024
3350e6c
clang-format fix
xiazhvera Oct 16, 2024
2592e47
fix cmake changes
xiazhvera Oct 16, 2024
f8024d2
kqueue and epoll used the posix socket
xiazhvera Oct 16, 2024
0e24c22
update compile flags...
xiazhvera Oct 16, 2024
40b6b81
update dispatch queue
xiazhvera Oct 16, 2024
81992ba
fix merge change
xiazhvera Oct 16, 2024
e89119a
clang-format
xiazhvera Oct 16, 2024
776977e
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Oct 25, 2024
2aafe5f
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Oct 25, 2024
ada3e09
lint
xiazhvera Oct 25, 2024
fbe538f
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Oct 25, 2024
86f3b2d
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Oct 25, 2024
72b51a0
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 8, 2024
69c22b4
clean up merge changes
xiazhvera Nov 8, 2024
1b79cbd
fix dispatch queue test flag
xiazhvera Nov 8, 2024
e613e5d
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 9, 2024
28b7546
update socket api changes for network framework
xiazhvera Nov 9, 2024
351c682
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 9, 2024
f24d637
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 9, 2024
0d69dd7
add apple socket init
xiazhvera Nov 9, 2024
c408e30
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 11, 2024
145e7d7
hide dispatch_queue.h
xiazhvera Nov 11, 2024
3a4eaca
fix merge error
xiazhvera Nov 11, 2024
35934d3
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 12, 2024
11d0f84
rename enum
xiazhvera Nov 12, 2024
8320127
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 12, 2024
652195b
remove warning on nw socket
xiazhvera Nov 12, 2024
1637a88
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 12, 2024
658463a
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 12, 2024
d0dddda
extend the shutdown wait time
xiazhvera Nov 12, 2024
31fd471
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Nov 29, 2024
d784f96
include private socket header
xiazhvera Nov 29, 2024
d880859
improve readme
xiazhvera Dec 3, 2024
6b9a05b
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Dec 20, 2024
630d0bb
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Jan 7, 2025
1dc7c7d
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Jan 8, 2025
0b7ba13
update renamed files
xiazhvera Jan 8, 2025
e9576c0
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Jan 8, 2025
9b8fb15
[WIP]socket shutdown test
xiazhvera Jan 9, 2025
535d92b
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Jan 9, 2025
95464ab
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Jan 9, 2025
a5094d2
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Jan 9, 2025
4992f4e
Merge branch 'nw_socket' of github.com:awslabs/aws-c-io into nw_socke…
xiazhvera Jan 10, 2025
0588e5c
[WIP] quick test releasing connection in aws_socket_close
xiazhvera Jan 13, 2025
c094abf
verify connection is released
xiazhvera Jan 13, 2025
96c3c71
[WIP]test remove shutdown callbacks
xiazhvera Jan 13, 2025
d114817
[WIP]remove sleep for tests
xiazhvera Jan 13, 2025
84b3299
[WIP]test socket without channel change
xiazhvera Jan 16, 2025
c65daa0
[WIP]partially fixed the race condition
xiazhvera Jan 17, 2025
a457935
[wip]fix print and test again
xiazhvera Jan 17, 2025
967379a
validate close state before processing
xiazhvera Jan 17, 2025
0397c14
avoid state update after closing socket.
xiazhvera Jan 21, 2025
aabba3c
quick dispatch queue test
xiazhvera Jan 21, 2025
5f95766
fix event loop lock
xiazhvera Jan 21, 2025
e9e5ee3
fix compile
xiazhvera Jan 21, 2025
cff2fd1
WIP try not null out state_change handler
xiazhvera Jan 23, 2025
dbeb628
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Jan 23, 2025
44bb099
Merge branch 'nw_socket' of github.com:awslabs/aws-c-io into nw_socke…
xiazhvera Jan 23, 2025
d960c5a
WIP: shutdown callback invoked after aws_socket_clean_up()
xiazhvera Jan 27, 2025
a4c1468
revert cancel changes
xiazhvera Jan 28, 2025
b98c09a
experiment for close callback in socket handler
xiazhvera Jan 29, 2025
03eb5a1
improve channel handler shutdown...
xiazhvera Jan 29, 2025
7e709cc
setup shutdown callback on socket close
xiazhvera Jan 30, 2025
b1fcf8d
fix cmake merge
xiazhvera Jan 30, 2025
9733a56
fix use-after-free print
xiazhvera Jan 30, 2025
9fc5d4a
fix syntax
xiazhvera Jan 30, 2025
d0b3143
WIP add lock for socket state
xiazhvera Jan 31, 2025
1f9b1ef
TEST: test non-callback unit tests
xiazhvera Jan 31, 2025
c8484df
workaround deadlock...
xiazhvera Jan 31, 2025
1fa11ed
improve event loop validation
xiazhvera Feb 3, 2025
b3cc904
add cleanup callback...
xiazhvera Feb 3, 2025
4becc61
update test to avoid deadlock
xiazhvera Feb 3, 2025
b79b9a3
fix nw_socket state update workflow
xiazhvera Feb 3, 2025
2c54a76
TEST: clean up socket access
xiazhvera Feb 3, 2025
5e24039
TEST socket wrapped with lock
xiazhvera Feb 4, 2025
19cd3c1
TEST: sleep to wait for event loop cleanup
xiazhvera Feb 4, 2025
fe95355
clean up socket and more comments
xiazhvera Feb 4, 2025
73f701a
rename some functions
xiazhvera Feb 5, 2025
7bb9d06
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Feb 6, 2025
96e8643
fix merge conflicts
xiazhvera Feb 6, 2025
7590685
Merge branch 'nw_socket' of github.com:awslabs/aws-c-io into nw_socke…
xiazhvera Feb 6, 2025
7809d15
acquire event loop group for nw_socket
xiazhvera Feb 6, 2025
cdfab7e
set CI us DAWS_USE_APPLE_NETWORK_FRAMEWORK
xiazhvera Feb 6, 2025
43ee31f
use shutdown callback in test
xiazhvera Feb 6, 2025
c4d7096
add more sleep
xiazhvera Feb 6, 2025
36bf219
add more sleep & improve readable task
xiazhvera Feb 6, 2025
8709bb2
TEST: a quick hacky adjustment for unit tests..
xiazhvera Feb 7, 2025
1f4def1
clean up channel_bootstrap
xiazhvera Feb 7, 2025
f641e4e
add shutdown callbacks for windows
xiazhvera Feb 7, 2025
e6fcc3c
fix windows&setup listener state task
xiazhvera Feb 7, 2025
439b5ef
revert complete changes
xiazhvera Feb 7, 2025
1dfd6fa
TEST: verify event loop group ref count
xiazhvera Feb 7, 2025
3fc15b3
use event loop group in unit test
xiazhvera Feb 7, 2025
8ed037c
fix missing lock
xiazhvera Feb 7, 2025
de14a43
fix condition_var notify
xiazhvera Feb 10, 2025
35f94d9
clang-format
xiazhvera Feb 10, 2025
369eb0b
socket close on peer close
xiazhvera Feb 10, 2025
8c4bdba
NW Socket Shutdown Process Update (#705)
xiazhvera Feb 10, 2025
be1c90e
clean up
xiazhvera Feb 10, 2025
acd6659
Merge branch 'nw_socket' of github.com:awslabs/aws-c-io into nw_socket
xiazhvera Feb 10, 2025
07c46bd
Checkpoint
Feb 10, 2025
79e8b0e
fix channel destory after callback
xiazhvera Feb 10, 2025
e258edc
Checkpoint before migrating permanently to socket branch
Feb 11, 2025
b5098c0
add listener connect callback
xiazhvera Feb 11, 2025
0ad1471
Shutdown rework initial impl
Feb 11, 2025
a25c892
Merge branch 'dq_shutdown' into nw_socket_shutdown2
Feb 11, 2025
0c2face
use default socket impl
xiazhvera Feb 12, 2025
6aa2ee9
Updates
Feb 12, 2025
469615f
Merge branch 'dq_shutdown' into nw_socket_shutdown2
Feb 12, 2025
f661727
Apply updates and remove dispatch queue sleep
Feb 12, 2025
a49b771
fix listener test and on peer socket shutdown
xiazhvera Feb 12, 2025
2627d1c
Race condition fix. A connection that completes instantly would caus…
Feb 12, 2025
8d66c7f
fix state lock
xiazhvera Feb 12, 2025
7d7fc09
expose aws_socket_get_default_impl_type for test
xiazhvera Feb 12, 2025
9bb0a1e
Merge branch 'nw_socket' into nw_socket_shutdown2
Feb 12, 2025
cd41c8f
Doc updates
Feb 12, 2025
4c2a4d1
Merge branch 'dq_shutdown' into nw_socket_shutdown2
Feb 12, 2025
f81423f
Oops
Feb 12, 2025
d49533c
Merge branch 'dq_shutdown' into nw_socket_shutdown2
Feb 12, 2025
bd91776
schedule read request even after the last peer closed
xiazhvera Feb 12, 2025
e837f77
Merge branch 'nw_socket' of github.com:awslabs/aws-c-io into nw_socke…
xiazhvera Feb 12, 2025
6a95f72
bug fix: wrong lock
xiazhvera Feb 13, 2025
5fe71c6
Merge branch 'nw_socket' of github.com:awslabs/aws-c-io into nw_socke…
xiazhvera Feb 13, 2025
8dc88fd
use is_complete to close the socket
xiazhvera Feb 13, 2025
83981c3
add prints to trace read queue
xiazhvera Feb 13, 2025
7dec84e
try fix processing read data on error
xiazhvera Feb 14, 2025
bdcd5ee
WIP: do not cancel connection before write finished
xiazhvera Feb 17, 2025
b5a0e85
WIP: do not cancel connection before write finished
xiazhvera Feb 17, 2025
2d312da
WIP DEBUG read operation on closing
xiazhvera Feb 17, 2025
6043ce4
clean up socket
xiazhvera Feb 17, 2025
2f7eec7
update code review
xiazhvera Feb 18, 2025
043b468
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Feb 18, 2025
5ebcf77
Merge branch 'nw_socket_shutdown' of github.com:awslabs/aws-c-io into…
xiazhvera Feb 18, 2025
17d2190
fix merge
xiazhvera Feb 18, 2025
4b1a553
generaize aws_socket_start_accept api
xiazhvera Feb 18, 2025
b86e381
improve socket state setup
xiazhvera Feb 18, 2025
098b1bd
improve task mem allocation
xiazhvera Feb 19, 2025
c973549
fix socket_cancel and windows
xiazhvera Feb 19, 2025
0368bd9
make sure nw_socket close has an event loop
xiazhvera Feb 19, 2025
304f588
more code review feedback
xiazhvera Feb 19, 2025
214913a
fix windows socket compilation
xiazhvera Feb 19, 2025
031a0e0
fix race condition for releasing socket
xiazhvera Feb 24, 2025
fbcafd8
[WIP] Test nw_socket with downstream (#711)
xiazhvera Feb 26, 2025
f4e37dc
rename locks...
xiazhvera Feb 27, 2025
438ba0c
WIP: cr update unify how to handle error_code
xiazhvera Feb 27, 2025
ca6cce2
WIP: address comments that are quick fixes...
xiazhvera Feb 27, 2025
a86220d
fix socket state concurrent issue
xiazhvera Feb 27, 2025
166a6c2
clean up locks
xiazhvera Feb 28, 2025
d54729a
clean up s_schedule_next_read & listener_state_changed_hanlder
xiazhvera Feb 28, 2025
6e76302
make sure handle task_cancelled
xiazhvera Feb 28, 2025
e76ee5e
function renames
xiazhvera Feb 28, 2025
702989b
fix bootstrap failed count & improve print
xiazhvera Mar 5, 2025
7a7389b
update code review comments
xiazhvera Mar 5, 2025
c33be54
update async start accept
xiazhvera Mar 5, 2025
12454c6
remove warning
xiazhvera Mar 5, 2025
7aa6656
remove aws_server_bootstrap_new_socket_listener_async
xiazhvera Mar 5, 2025
8b6b925
update server boostrap listener
xiazhvera Mar 5, 2025
188a462
update iocp socket
xiazhvera Mar 5, 2025
8a96f05
Remove aws_server_bootstrap_new_socket_listener_async (#713)
xiazhvera Mar 6, 2025
0c93f4d
clean up socket handler test
xiazhvera Mar 6, 2025
ee20b20
Merge branch 'nw_socket_shutdown' of github.com:awslabs/aws-c-io into…
xiazhvera Mar 6, 2025
21f6177
more comments
xiazhvera Mar 6, 2025
94e7a5b
clang-format
xiazhvera Mar 6, 2025
1903725
Merge branch 'grand_dispatch_queue' of github.com:awslabs/aws-c-io in…
xiazhvera Mar 6, 2025
43ce9ea
improve socket README
xiazhvera Mar 10, 2025
a7fd767
fix tcp keepalive value
xiazhvera Mar 10, 2025
03c520e
improve base socket lock & code review update
xiazhvera Mar 12, 2025
07b2adf
move shared args to private header
xiazhvera Mar 13, 2025
f512314
remove memcpy
xiazhvera Mar 13, 2025
6bd46ab
improve error print
xiazhvera Mar 13, 2025
14aeea4
Merge branch 'grand_dispatch_queue' of https://github.com/awslabs/aws…
xiazhvera Mar 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions source/channel_bootstrap.c
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,11 @@ static void s_socket_shutdown_complete_setup_connection_args_fn(void *user_data)
struct socket_shutdown_setup_channel_args *shutdown_args = user_data;
struct client_connection_args *connection_args = shutdown_args->connection_args;

// The failed count should be set before validation
if (shutdown_args->error_code || !connection_args->channel_data.channel) {
connection_args->failed_count++;
}

/* if this is the last attempted connection and it failed, notify the user */
if (connection_args->failed_count == connection_args->addresses_count) {
AWS_LOGF_ERROR(
Expand Down Expand Up @@ -600,10 +605,6 @@ static void s_on_client_connection_established(struct aws_socket *socket, int er
(void *)socket,
error_code);

if (error_code) {
connection_args->failed_count++;
}

struct aws_allocator *allocator = connection_args->bootstrap->allocator;

if (error_code || connection_args->connection_chosen) {
Expand Down Expand Up @@ -681,8 +682,6 @@ static void s_on_client_connection_established(struct aws_socket *socket, int er
false)
aws_socket_clean_up(socket);
aws_mem_release(connection_args->bootstrap->allocator, connection_args->channel_data.socket);
connection_args->failed_count++;

} else {
s_connection_args_creation_callback(connection_args, connection_args->channel_data.channel);
}
Expand Down
24 changes: 17 additions & 7 deletions source/darwin/nw_socket.c
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,7 @@ static void s_process_socket_cancel_task(struct aws_task *task, void *arg, enum
struct nw_socket_cancel_task_args *args = arg;
struct nw_socket *nw_socket = args->nw_socket;

AWS_LOGF_DEBUG(AWS_LS_IO_SOCKET, "id=%p: written finished closing", (void *)nw_socket);
AWS_LOGF_TRACE(AWS_LS_IO_SOCKET, "id=%p: start to process socket cancel task.", (void *)nw_socket);

// The task should always run event when status == AWS_TASK_STATUS_CANCELLED. We rely on the task to clean up the
// system connection/listener. And release the socket memory.
Expand Down Expand Up @@ -672,7 +672,7 @@ int aws_socket_init_apple_nw_socket(

// Network Interface is not supported with Apple Network Framework yet
if (options->network_interface_name[0] != 0) {
AWS_LOGF_ERROR(
AWS_LOGF_DEBUG(
AWS_LS_IO_SOCKET,
"id=%p fd=%d: network_interface_name is not supported on this platform.",
(void *)socket,
Expand Down Expand Up @@ -764,7 +764,7 @@ static void s_process_incoming_data_task(struct aws_task *task, void *arg, enum

AWS_LOGF_TRACE(
AWS_LS_IO_SOCKET,
"id=%p handle=%p: start process read data.",
"id=%p handle=%p: start to process read data.",
(void *)nw_socket,
(void *)nw_socket->os_handle.nw_connection);

Expand Down Expand Up @@ -847,6 +847,8 @@ static void s_process_connection_result_task(struct aws_task *task, void *arg, e
struct nw_socket_scheduled_task_args *task_args = arg;
struct nw_socket *nw_socket = task_args->nw_socket;

AWS_LOGF_TRACE(AWS_LS_IO_SOCKET, "id=%p: start to process connection result task.", (void *)nw_socket);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Connection/listener state changes would be better as debug I think

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the state_change log to debug. For this specific line, since the function is invoking the connection result callback, I think trace would be a good to track for this callback.


if (status != AWS_TASK_STATUS_CANCELED) {
s_lock_base_socket(nw_socket);
struct aws_socket *socket = nw_socket->base_socket_synced_data.base_socket;
Expand Down Expand Up @@ -1209,6 +1211,8 @@ static void s_process_write_task(struct aws_task *task, void *args, enum aws_tas
struct aws_allocator *allocator = task_args->allocator;
struct nw_socket *nw_socket = task_args->nw_socket;

AWS_LOGF_TRACE(AWS_LS_IO_SOCKET, "id=%p: start to process write task.", (void *)nw_socket);

if (status != AWS_TASK_STATUS_CANCELED) {
s_lock_base_socket(nw_socket);
struct aws_socket *socket = nw_socket->base_socket_synced_data.base_socket;
Expand Down Expand Up @@ -1574,6 +1578,12 @@ static void s_process_listener_state_changed_task(struct aws_task *task, void *a
nw_listener_state_t state = listener_state_changed_args->state;
int crt_error_code = listener_state_changed_args->error;

AWS_LOGF_TRACE(
AWS_LS_IO_SOCKET,
"id=%p handle=%p: start to process listener state change task.",
(void *)nw_socket,
(void *)nw_listener);

/* Ideally we should not have a canceled task here, as nw_socket keeps a reference to event loop, therefore the
* event loop should never be destroyed before the nw_socket get destroyed. If we manually cancel the task, we
* should make sure we carefully handled the state change eventually, as the socket relies on this task to release
Expand Down Expand Up @@ -1945,7 +1955,7 @@ static int s_schedule_next_read(struct nw_socket *nw_socket) {
// Once a read operation is scheduled, we should not schedule another one until the current one is
// completed.
if (nw_socket->synced_data.read_scheduled) {
AWS_LOGF_ERROR(
AWS_LOGF_TRACE(
AWS_LS_IO_SOCKET,
"id=%p handle=%p: there is already read queued, do not queue further read",
(void *)nw_socket,
Expand All @@ -1955,7 +1965,7 @@ static int s_schedule_next_read(struct nw_socket *nw_socket) {
}

if (nw_socket->synced_data.state & CLOSING || !(nw_socket->synced_data.state & CONNECTED_READ)) {
AWS_LOGF_ERROR(
AWS_LOGF_DEBUG(
AWS_LS_IO_SOCKET,
"id=%p handle=%p: cannot read to because socket is not connected",
(void *)nw_socket,
Expand Down Expand Up @@ -2042,7 +2052,7 @@ static int s_socket_read_fn(struct aws_socket *socket, struct aws_byte_buf *read
socket->io_handle.data.handle);
s_lock_socket_synced_data(nw_socket);
if (!(nw_socket->synced_data.state & CONNECTED_READ)) {
AWS_LOGF_ERROR(
AWS_LOGF_DEBUG(
AWS_LS_IO_SOCKET,
"id=%p handle=%p: socket is not connected to read.",
(void *)socket,
Expand Down Expand Up @@ -2172,7 +2182,7 @@ static int s_socket_write_fn(
struct nw_socket *nw_socket = socket->impl;
s_lock_socket_synced_data(nw_socket);
if (!(nw_socket->synced_data.state & CONNECTED_WRITE)) {
AWS_LOGF_ERROR(
AWS_LOGF_DEBUG(
AWS_LS_IO_SOCKET,
"id=%p handle=%p: cannot write to because it is not connected",
(void *)socket,
Expand Down
Loading