evdb / HTTP-Async

process multiple HTTP requests in parallel without blocking
http://search.cpan.org/dist/HTTP-Async/lib/HTTP/Async.pm
8 stars 14 forks source link

SSL: supporting async connection establishment #20

Open dorszman opened 6 years ago

dorszman commented 6 years ago

SSL connection handshake is not async, as a result calling add() to initiate a new https request results in blocking till ssl connection is fully established. This may take a couple of hundreds of ms. The proposed fix - make ssl connection fully async and non-blocking.

anall commented 5 years ago

I am in the process of taking over this project, and I apologize for how long this pull request has gone without response.

This pull request breaks for non-SSL requests:

Can't locate object method "connect_SSL" via package "Net::HTTP::NB" at lib/HTTP/Async.pm line 940.

Also on a server that never accepts on the incoming socket, this change removes the (timeout-long) delay on add, but also does not seem to respect the timeout on wait_for_next_response. The timeout is respected in wait_for_next_response on HTTP requests w/o your commit.

Given the delay in responding, are you still interested in working on this pull request and fixing these issues? If not, do you have any objection for me using this as a starting point?

dorszman commented 5 years ago

a Dear Andrea I am very happy to hear someone is interested and may benefit from my code. Please feel free to start from this point. it will be appreciated if you mention somehow my name (Doron Cohen) but this is not a mandatory.

Doron

On Tue, Jun 4, 2019, 1:48 AM Andrea Nall notifications@github.com wrote:

I am in the process of taking over this project, and I apologize for how long this pull request has gone without response.

This pull request breaks for non-SSL requests:

Can't locate object method "connect_SSL" via package "Net::HTTP::NB" at lib/HTTP/Async.pm line 940.

Also on a server that never accepts on the incoming socket, this change removes the (timeout-long) delay on add, but also does not seem to respect the timeout on wait_for_next_response. The timeout is respected in wait_for_next_response on HTTP requests w/o your commit.

Given the delay in responding, are you still interested in working on this pull request and fixing these issues? If not, do you have any objection for me using this as a starting point?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/evdb/HTTP-Async/pull/20?email_source=notifications&email_token=AI342AXD4IJ6ENQBQB73K4TPYWNS7A5CNFSM4EUQ5U22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW246KA#issuecomment-498454312, or mute the thread https://github.com/notifications/unsubscribe-auth/AI342AREKT4EKCQ4JPU4GX3PYWNS7ANCNFSM4EUQ5U2Q .