Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: SSH2 - Asynchronous Opens & Synchronous Commands

by salva (Abbot)
on Apr 05, 2014 at 08:40 UTC ( #1081223=note: print w/ replies, xml ) Need Help??

in reply to SSH2 - Asynchronous Opens & Synchronous Commands

libssh2 can do the SSH handshaking and user authentication stages in non-blocking mode. I am not completely sure the same can be currently done with Net::SSH2 though.

The trick would be to call $ssh2->blocking(0) just after creating the Net::SSH2 object and then calling connect and auth_* while checking for LIBSSH2_ERROR_EAGAIN errors and then using the select function to wait for data to arrive at some of the underlaying sockets.

I have done something similar for the Net::SSH2 backend of my module Net::SSH::Any and would have to say that it is going to be a difficult task and would probably require fixing bugs in Net::SSH2 (in that case, report them through GitHub, I would be looking and could help).

Comment on Re: SSH2 - Asynchronous Opens & Synchronous Commands
Select or Download Code
Replies are listed 'Best First'.
Re^2: SSH2 - Asynchronous Opens & Synchronous Commands
by 5haun (Beadle) on Apr 05, 2014 at 15:05 UTC
    Hhmmm. Ok. I'll give it a try...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1081223]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (11)
As of 2016-04-29 17:48 GMT
Find Nodes?
    Voting Booth?
    :nehw tseb si esrever ni gnitirW

    Results (441 votes). Check out past polls.