Class: IOMultiplex::IOReactor::OpenSSL

Inherits:
Buffered show all
Includes:
Mixins::OpenSSL
Defined in:
lib/iomultiplex/ioreactor/openssl.rb

Overview

Wraps an OpenSSL IO object which receives TLS connections

Constant Summary

Constants included from Mixins::IOReactor::Write

Mixins::IOReactor::Write::WRITE_BUFFER_MAX, Mixins::IOReactor::Write::WRITE_SIZE

Constants included from Mixins::IOReactor::Read

Mixins::IOReactor::Read::READ_BUFFER_MAX, Mixins::IOReactor::Read::READ_SIZE

Instance Attribute Summary

Attributes inherited from IOMultiplex::IOReactor

#id, #io, #mode, #peer

Attributes included from Mixins::Logger

#logger, #logger_context

Instance Method Summary collapse

Methods included from Mixins::OpenSSL

#handle_read, #handle_write, #handshake_completed?, #peer_cert, #peer_cert_cn

Methods inherited from IOMultiplex::IOReactor

#addr, #attach, #close, #detach, #force_close, #peeraddr

Methods included from Mixins::IOReactor::Write

#handle_write, #write, #write_full?

Methods included from Mixins::IOReactor::Read

#discard, #handle_data, #handle_read, #pause, #read, #read_full?, #resume

Constructor Details

#initialize(io, _ = nil, id = nil, ssl_ctx = nil) ⇒ OpenSSL

Returns a new instance of OpenSSL.



26
27
28
29
30
31
# File 'lib/iomultiplex/ioreactor/openssl.rb', line 26

def initialize(io, _ = nil, id = nil, ssl_ctx = nil)
  # OpenSSL is implicitly read/write due to key-exchange so we ignore the
  # mode parameter
  super io, 'rw', id
  initialize_ssl ssl_ctx
end