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

Replace queue with linked list #21

Draft
wants to merge 37 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
76083b2
Replace queue with linked list
willmmiles Feb 5, 2025
148ee43
Fix pre-commit suggestions
willmmiles Feb 5, 2025
673fbc9
Remove AsyncClient intrusive list
willmmiles Feb 5, 2025
29d7ee5
Remove AsyncClient::operator=(const AsyncClient&)
willmmiles Feb 5, 2025
7e0725a
Explicitly indicate non-copyability
willmmiles Feb 5, 2025
5fdb222
Inline AsyncClient::operator==
willmmiles Feb 5, 2025
f9191a9
Say goodbye to malloc
willmmiles Feb 5, 2025
3caa027
Consistently return ERR_MEM
willmmiles Feb 5, 2025
affbd22
Merge remote-tracking branch 'upstream/main'
willmmiles Feb 6, 2025
2321755
Fix tcp_poll timer
willmmiles Feb 6, 2025
26e49f6
Fix merge error in _connect
willmmiles Feb 7, 2025
f3a5256
AsyncClient::_connect: Pass addr by const reference
willmmiles Feb 7, 2025
50e0086
Revert incorrect debug prints
willmmiles Feb 7, 2025
f6e1e05
Remove invalid check on _accept
willmmiles Feb 8, 2025
863a182
Fix locking in AsyncServer::end()
willmmiles Feb 8, 2025
5a1989f
Add @notes to connect and abort
willmmiles Feb 14, 2025
9d3dec1
Use double indirection for _async_queue_tail
willmmiles Feb 14, 2025
2df8999
Break queue out to class
willmmiles Feb 16, 2025
96aee4b
Gift end event to queue
willmmiles Feb 14, 2025
b862fbc
simple_intrusive_list: Use typedefs
willmmiles Feb 22, 2025
28ab534
simple_intrusive_list: Add validation call
willmmiles Feb 22, 2025
e763c29
Expand _remove_events_for debug
willmmiles Feb 22, 2025
bbd42d0
Clarify discard execution
willmmiles Feb 24, 2025
74dd111
simple_intrusive_list: Add pragma once
willmmiles Feb 22, 2025
6de4a1d
Teardown pcb on invalidate
willmmiles Feb 24, 2025
570d70e
Use guard object for LwIP locking
willmmiles Feb 24, 2025
c8efcff
Move TCP callbacks in to AsyncClient_detail
willmmiles Feb 24, 2025
c424ea3
Raise queue mutex guard scope to callbacks
willmmiles Feb 24, 2025
8926f30
Coalesce poll, recv, and sent events
willmmiles Feb 24, 2025
97ca3f8
Refactor to minimize queue locking
willmmiles Feb 24, 2025
c4a3de0
Remove guard test
willmmiles Feb 25, 2025
8c1a823
Add CONFIG_ASYNC_TCP_QUEUE_LWIP_LOCK
willmmiles Feb 25, 2025
152fb19
Embed global mutex in queue_mutex_guard
willmmiles Feb 25, 2025
997a256
Merge remote-tracking branch 'upstream/main' into replace-queue-coalesce
willmmiles Mar 1, 2025
91726a6
Alternate approach to recv coalesce
willmmiles Mar 10, 2025
ea2c3e4
Use atomics instead of locking for sent+poll
willmmiles Mar 10, 2025
1eb5ccb
Merge upstream/main into replace-queue-coalesce
willmmiles Mar 16, 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
Loading