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

Better documentation, error messages, defaults regarding the gige socket-buffer-size #898

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

dkogan
Copy link

@dkogan dkogan commented Apr 18, 2024

These are the result of me encountering and debugging packet-dropping issues: #894

Primarily these patches add more error reporting and documentation. With the extended error messages I think it makes sense to change the default socket-buffer policy to ARV_GV_STREAM_SOCKET_BUFFER_AUTO, which this patch series does.

There's one more thing I would change also, but want to get your thoughts about all this first:

If setsockopt() returns success, but doesn't actually give us the requested buffer, we currently:

  • Report a arv_warning_interface()
  • arv_socket_set_recv_buffer_size() returns FALSE
    But the caller of arv_socket_set_recv_buffer_size() doesn't do anything with this FALSE, and things continue as normal. I would make this a hard error, and I'd change the arv_warning_interface() to something that would be seen even without any ARV_DEBUG flags.

Thanks much

No-op patch. The win32 and non-win32 paths are actually identical, and after
this patch, that fact is immediately clear
More diagnostic output. More error checking. More detailed error messages.

I routinely observe setsockopt(SO_RCVBUF) ask for a buffer of a particular size,
the function returning successfully, but the actual buffer that ended up
allocated being smaller. This condition is now reported as an error
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.

None yet

1 participant