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

SdoClient.download: allow block transfer mode #403

Open
dentoyan opened this issue Nov 2, 2023 · 5 comments
Open

SdoClient.download: allow block transfer mode #403

dentoyan opened this issue Nov 2, 2023 · 5 comments

Comments

@dentoyan
Copy link

dentoyan commented Nov 2, 2023

Allow large file transfer when using download. Block transfer mode is correctly implemented.
The block_transfer argument must be set to True for the open method. This will speed up the transfer significantly.

@sveinse
Copy link
Collaborator

sveinse commented May 19, 2024

Hi! What is the question here? Isn't the block_transfer mode of open() working on downloads? Neither upload() nor download() of SdoClient use block transfer mode, you have to call open() manually.

@dentoyan
Copy link
Author

Please review my commit 07d82a6

@acolomb
Copy link
Collaborator

acolomb commented May 23, 2024

Sorry, I don't get what the intention is here, either. You want SdoClient.download() to default to block transfer mode? That doesn't make sense in the vast majority of use cases. And for those where it does, we have a solution by using open() directly from your application code.

@sveinse
Copy link
Collaborator

sveinse commented May 23, 2024

What PR is this from?

Can I maybe suggest to add block_transfer: bool = False as an additional argument to SdoClient.upload() and SdoClient.download().? If you do , please remember that the prototypes in SdoBase.upload() and SdoBase.download() must be updated too.

@dentoyan
Copy link
Author

Adding an additional argument is a good idea.
Block Transfer: multiple segments are confirmed by only 1 confirm message.
On Initiate Block Download command the server returns the number of segments per block. So the client can select the optimal transfer mode.

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

No branches or pull requests

4 participants