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 request: enable compression flag #195

Closed
pletnes opened this issue Oct 30, 2023 · 3 comments
Closed

Feature request: enable compression flag #195

pletnes opened this issue Oct 30, 2023 · 3 comments

Comments

@pletnes
Copy link

pletnes commented Oct 30, 2023

Hi!

Thanks for a performant and useful SFTP implementation. Beats the other libraries I've tried out there.

Feature request: I've tried to enable compression but can't seem to find how to do it in the documentation. Reading the cython and C source code did not help me either (not a C expert though). Is this possible to do now? Or could it be implemented, and how? The files I want to transfer compress well.

(Note that the Google groups forum does not seem to exist anymore.)

@enkore
Copy link
Member

enkore commented Nov 10, 2023

You'd use LIBSSH2_FLAG_COMPRESS with libssh2_session_flag (not the greatest API for this in the world, as the protocol has flexible negotiation for this, instead of an zlib on-off switch - though to be fair, that's the only compression anyone ever implements) for this. This isn't a wrapped function in ssh2-python as far as I can tell.

This is usually not that interesting, because this is zlib, so quite slow and can be a CPU bottleneck even on modest connection speeds with the regular zlib (without QAT or zlib-ng).

@pletnes
Copy link
Author

pletnes commented Nov 15, 2023

I'm currently in the "huge files which compress >50x on a beefy machine far away" corner so it's one of those cases where compression really is handy.

From what I can tell, in libssh2, this just a bitmask-style flag on the session. Any pointers to how I'd proceed on implementing this myself?

@ParallelSSH ParallelSSH deleted a comment from Red-M Jan 4, 2025
@pkittenis
Copy link
Member

Hi there,

Thanks for the interest.

Compression is already built in the embedded libssh2 and binary wheels.

If looking for examples how to use, have a look at libssh2 examples.

There is an open feature request to configure this in parallel-ssh.

@ParallelSSH ParallelSSH locked as resolved and limited conversation to collaborators Jan 12, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants