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

Feature/combined writes - one packet can ship multiple writes #173

Closed

Conversation

jthomas43
Copy link
Contributor

No description provided.

@jthomas43 jthomas43 requested review from mafintosh and kasperisager and removed request for mafintosh January 12, 2024 17:46
@jthomas43
Copy link
Contributor Author

currently this patch allocates stream packets that look like this:

packet_t {...};
uv_buf_t header;
uv_buf_t padding;  // placeholder for mtu probe padding. zero length unless mtu probe sent
uv_buf_t data[n];  // payload pointers for n writes
udx_write_t*[];    // udx_write_t pointers for n writes

I think I should do another pass to remove the always-allocated padding field. it will complicate the code but 1. may be faster and 2. there may be a bug on some android when sendmsg is given an empty buffer.

jthomas43 and others added 4 commits January 18, 2024 06:33
…end() into single packets with header_flag UDX_HEADER_DATA|UDX_HEADER_END. only set the UDX_HEADER_END bit when the packet carries the last bytes of the write. also sets remote_acked to seq when seq is set with udx_stream_set_seq to prevent RTO for packets taht weren\t sent, and does some debug message cleanup.
@jthomas43 jthomas43 closed this Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant