… | |
… | |
11 | |
11 | |
12 | AnyEvent::Handle - non-blocking I/O on file handles via AnyEvent |
12 | AnyEvent::Handle - non-blocking I/O on file handles via AnyEvent |
13 | |
13 | |
14 | =cut |
14 | =cut |
15 | |
15 | |
16 | our $VERSION = 4.881; |
16 | our $VERSION = 4.901; |
17 | |
17 | |
18 | =head1 SYNOPSIS |
18 | =head1 SYNOPSIS |
19 | |
19 | |
20 | use AnyEvent; |
20 | use AnyEvent; |
21 | use AnyEvent::Handle; |
21 | use AnyEvent::Handle; |
… | |
… | |
1732 | Net::SSLeay::CTX_set_mode ($tls, 1|2); |
1732 | Net::SSLeay::CTX_set_mode ($tls, 1|2); |
1733 | |
1733 | |
1734 | $self->{_rbio} = Net::SSLeay::BIO_new (Net::SSLeay::BIO_s_mem ()); |
1734 | $self->{_rbio} = Net::SSLeay::BIO_new (Net::SSLeay::BIO_s_mem ()); |
1735 | $self->{_wbio} = Net::SSLeay::BIO_new (Net::SSLeay::BIO_s_mem ()); |
1735 | $self->{_wbio} = Net::SSLeay::BIO_new (Net::SSLeay::BIO_s_mem ()); |
1736 | |
1736 | |
|
|
1737 | Net::SSLeay::BIO_write ($self->{_rbio}, delete $self->{rbuf}); |
|
|
1738 | |
1737 | Net::SSLeay::set_bio ($tls, $self->{_rbio}, $self->{_wbio}); |
1739 | Net::SSLeay::set_bio ($tls, $self->{_rbio}, $self->{_wbio}); |
1738 | |
1740 | |
1739 | $self->{_on_starttls} = sub { $_[0]{on_starttls}(@_) } |
1741 | $self->{_on_starttls} = sub { $_[0]{on_starttls}(@_) } |
1740 | if $self->{on_starttls}; |
1742 | if $self->{on_starttls}; |
1741 | |
1743 | |
… | |
… | |
1770 | my ($self) = @_; |
1772 | my ($self) = @_; |
1771 | |
1773 | |
1772 | return unless $self->{tls}; |
1774 | return unless $self->{tls}; |
1773 | |
1775 | |
1774 | $self->{tls_ctx}->_put_session (delete $self->{tls}) |
1776 | $self->{tls_ctx}->_put_session (delete $self->{tls}) |
1775 | if ref $self->{tls}; |
1777 | if $self->{tls} > 0; |
1776 | |
1778 | |
1777 | delete @$self{qw(_rbio _wbio _tls_wbuf _on_starttls)}; |
1779 | delete @$self{qw(_rbio _wbio _tls_wbuf _on_starttls)}; |
1778 | } |
1780 | } |
1779 | |
1781 | |
1780 | sub DESTROY { |
1782 | sub DESTROY { |