in reply to IO::Socket::SSL buffering issue?

The problem with SSL connections is that you never know if its addaptation layer needs to read or write from the underlaying socket.

Maybe you just want to read from the SSL socket so you pass the socket file descriptor number to select on the read group... but under the hood, maybe IO::Socket::SSL needs to write first and the other party SSL socket is waiting also for some input, so your app just locks.

I don't believe this problem could be easily solved without a select replacement that knows about SSL.