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

Handle large packets #5

Open
mborgerson opened this issue May 22, 2017 · 4 comments
Open

Handle large packets #5

mborgerson opened this issue May 22, 2017 · 4 comments

Comments

@mborgerson
Copy link
Member

We currently throw it all at netconn_write which is not able to handle much at a time. We should ideally chunk it out. We also don't check the return value for errors.

@JayFoxRox
Copy link
Member

I feel that this is something that should be abstracted in a way that we can possibly run posix-like socket code soon. That, however, is an issue in NXDK, not in NXDK-RDT.

@mborgerson
Copy link
Member Author

LwIP supports a BSD sockets interface, we should probably use it. That would also enable us to build a test app on Linux side to make sure the communication protocol code is correct (and not actually a problem with PktDrv/LwIP/Hardware).

@JayFoxRox
Copy link
Member

This is also true for the receiving side.
If I try to write more than ~250 bytes from the client, nxdk-rdt will just choke as the data is split amongst a handful of network packets. This is a serious issue which makes nxdk-rdt unusable.

@mborgerson
Copy link
Member Author

mborgerson commented Jul 7, 2017

Yeah, it's broken in multiple ways. First, we don't even consider packets that are split up (we just take the first chunk), that's the point of this issue. Second, I suspect there's a flaw (probably more) in the LwIP-Xbox interface code. I tried to get it to handle multiple packet chunks but it just kept giving me errors. Just sucks at the moment. Please make it better :).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants