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

Possibility for datagrams to be dropped when not able to send #4320

Open
wants to merge 25 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
8f40f35
Added possibility for datagrams to be dropped when not able to send
May 23, 2024
03dceb1
Switch from not insert into queue if not empty to cancel all outstand…
May 29, 2024
b010939
Ran dotnet script
iiztp May 30, 2024
efb718a
Removed copies from clipboard I made when comitting...
May 30, 2024
ba30093
Modified for comments
May 30, 2024
f658311
Test if alg works now
iiztp May 30, 2024
1528319
style
nibanks May 30, 2024
084c172
It works now, but sometimes segfault, didn't went further
May 31, 2024
bbb2bf4
Merge because I didn't pulled before modifying..
May 31, 2024
9aeaab5
Inspired from previous work
May 31, 2024
9386e84
Doc + Modif flag hex because I'm bad at hex
May 31, 2024
1b20bac
I didn't save the file for the doc ;-;
May 31, 2024
928501f
Update datagram.c
iiztp May 31, 2024
ad9457f
Update datagram.c
iiztp May 31, 2024
5706fd9
Update datagram.c
iiztp May 31, 2024
d6835df
Merge branch 'microsoft:main' into main
iiztp Jun 1, 2024
e5e67b9
Test that crashes because ?
Jun 19, 2024
0e9041f
Merge branch 'main' of https://github.com/iiztp/msquic
Jun 19, 2024
2d7355e
Found out why core dumped
Jun 19, 2024
ce0d31e
Update src/test/lib/DatagramTest.cpp
iiztp Jun 19, 2024
86e903a
Revert changes of submodule
Jun 19, 2024
fbc659d
Merge branch 'main' into main
iiztp Jun 20, 2024
ffc798a
Merge branch 'microsoft:main' into main
iiztp Jul 17, 2024
4afc187
Merge branch 'microsoft:main' into main
iiztp Aug 14, 2024
62458da
Merge branch 'microsoft:main' into main
iiztp Sep 17, 2024
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
8 changes: 7 additions & 1 deletion src/core/datagram.c
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,13 @@ QuicDatagramSendFlush(
CXPLAT_DBG_ASSERT(!(SendRequest->Flags & QUIC_SEND_FLAG_BUFFERED));
CXPLAT_TEL_ASSERT(Datagram->SendEnabled);

if (SendRequest->TotalLength > (uint64_t)Datagram->MaxSendLength || QuicConnIsClosed(Connection)) {
// Cancels the sending of a Datagram if:
// The length we want to send > the length we can send
// The connection is closed
// The sending mode requires to send immediately (no datagram in queue)
iiztp marked this conversation as resolved.
Show resolved Hide resolved
if (SendRequest->TotalLength > (uint64_t)Datagram->MaxSendLength
|| QuicConnIsClosed(Connection)
|| ((SendRequest->Flags & QUIC_SEND_FLAG_DGRAM_CANCEL_ON_BLOCKED) && Datagram->SendQueue != NULL)) {
QuicDatagramCancelSend(Connection, SendRequest);
continue;
}
Expand Down
1 change: 1 addition & 0 deletions src/inc/msquic.h
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,7 @@ typedef enum QUIC_SEND_FLAGS {
QUIC_SEND_FLAG_DGRAM_PRIORITY = 0x0008, // Indicates the datagram is higher priority than others.
QUIC_SEND_FLAG_DELAY_SEND = 0x0010, // Indicates the send should be delayed because more will be queued soon.
QUIC_SEND_FLAG_CANCEL_ON_LOSS = 0x0020, // Indicates that a stream is to be cancelled when packet loss is detected.
QUIC_SEND_FLAG_DGRAM_CANCEL_ON_BLOCKED = 0x0030, // Indicates that a datagram should be dropped when it can't be sent immediately.
iiztp marked this conversation as resolved.
Show resolved Hide resolved
iiztp marked this conversation as resolved.
Show resolved Hide resolved
} QUIC_SEND_FLAGS;

DEFINE_ENUM_FLAG_OPERATORS(QUIC_SEND_FLAGS)
Expand Down
Loading