Class Net::SFTP::Protocol::V06::Base
In: lib/net/sftp/protocol/06/base.rb
Parent: V05::Base

Wraps the low-level SFTP calls for version 6 of the SFTP protocol.

None of these protocol methods block—all of them return immediately, requiring the SSH event loop to be run while the server response is pending.

You will almost certainly never need to use this driver directly. Please see Net::SFTP::Session for the recommended interface.

Methods

Public Instance methods

Sends a FXP_BLOCK packet to the server to request that a byte-range lock be obtained on the given handle, for the given byte offset and length. The mask parameter is a bitfield indicating what kind of lock to acquire, and must be a combination of one or more of the Net::SFTP::Constants::LockTypes constants.

[Source]

    # File lib/net/sftp/protocol/06/base.rb, line 41
41:     def block(handle, offset, length, mask)
42:       send_request(FXP_BLOCK, :string, handle, :int64, offset, :int64, length, :long, mask)
43:     end

Sends a FXP_LINK packet to the server to request that a link be created at new_link_path, pointing to existing_path. If symlink is true, a symbolic link will be created; otherwise a hard link will be created.

[Source]

    # File lib/net/sftp/protocol/06/base.rb, line 25
25:     def link(new_link_path, existing_path, symlink)
26:       send_request(FXP_LINK, :string, new_link_path, :string, existing_path, :bool, symlink)
27:     end

Provided for backwards compatibility; v6 of the SFTP protocol removes the older FXP_SYMLINK packet type, so this method simply calls the link method.

[Source]

    # File lib/net/sftp/protocol/06/base.rb, line 32
32:     def symlink(path, target)
33:       link(path, target, true)
34:     end

Sends a FXP_UNBLOCK packet to the server to request that a previously acquired byte-range lock be released on the given handle, for the given byte offset and length. The handle, offset, and length must all exactly match the parameters that were given when the lock was originally acquired (see block).

[Source]

    # File lib/net/sftp/protocol/06/base.rb, line 50
50:     def unblock(handle, offset, length)
51:       send_request(FXP_UNBLOCK, :string, handle, :int64, offset, :int64, length)
52:     end

Returns the protocol version implemented by this driver. (6, in this case)

[Source]

    # File lib/net/sftp/protocol/06/base.rb, line 18
18:     def version
19:       6
20:     end

Protected Instance methods

Returns the Attributes class used by this version of the protocol (Net::SFTP::Protocol::V06::Attributes, in this case)

[Source]

    # File lib/net/sftp/protocol/06/base.rb, line 58
58:       def attribute_factory
59:         V06::Attributes
60:       end

[Validate]