Class: Net::SSH::Transport::ServerVersion
- Inherits:
-
Object
- Object
- Net::SSH::Transport::ServerVersion
- Includes:
- Loggable
- Defined in:
- lib/net/ssh/transport/server_version.rb
Overview
Negotiates the SSH protocol version and trades information about server and client. This is never used directly–it is always called by the transport layer as part of the initialization process of the transport layer.
Note that this class also encapsulates the negotiated version, and acts as the authoritative reference for any queries regarding the version in effect.
Constant Summary collapse
- PROTO_VERSION =
The SSH version string as reported by Net::SSH
"SSH-2.0-Ruby/Net::SSH_#{Net::SSH::Version::CURRENT} #{RUBY_PLATFORM}"
Instance Attribute Summary collapse
-
#header ⇒ Object
readonly
Any header text sent by the server prior to sending the version.
-
#version ⇒ Object
readonly
The version string reported by the server.
Attributes included from Loggable
Instance Method Summary collapse
-
#initialize(socket, logger) ⇒ ServerVersion
constructor
Instantiates a new ServerVersion and immediately (and synchronously) negotiates the SSH protocol in effect, using the given socket.
Methods included from Loggable
#debug, #error, #fatal, #info, #lwarn
Constructor Details
#initialize(socket, logger) ⇒ ServerVersion
Instantiates a new ServerVersion and immediately (and synchronously) negotiates the SSH protocol in effect, using the given socket.
28 29 30 31 32 33 |
# File 'lib/net/ssh/transport/server_version.rb', line 28 def initialize(socket, logger) @header = "" @version = nil @logger = logger negotiate!(socket) end |
Instance Attribute Details
#header ⇒ Object (readonly)
Any header text sent by the server prior to sending the version.
21 22 23 |
# File 'lib/net/ssh/transport/server_version.rb', line 21 def header @header end |
#version ⇒ Object (readonly)
The version string reported by the server.
24 25 26 |
# File 'lib/net/ssh/transport/server_version.rb', line 24 def version @version end |