Class: Net::SFTP::Request

Class | Net::SFTP::Request
In: | lib/net/sftp/request.rb lib/net/sftp/request.rb
Parent: | Object

Encapsulates a single active SFTP request. This is instantiated automatically by the Net::SFTP::Session class when an operation is executed.

      request = sftp.open("/path/to/file")
      puts request.pending? #-> true
      request.wait
      puts request.pending? #-> false
      result = request.response

### Methods

[] [] []= []= pending? pending? wait wait

### Included Modules

Constants::PacketTypes Constants::PacketTypes

### Attributes

callback | [R] | The callback (if any) associated with this request. When the response is recieved for this request, the callback will be invoked.
callback | [R] | The callback (if any) associated with this request. When the response is recieved for this request, the callback will be invoked.
id | [R] | The SFTP packet identifier for this request
id | [R] | The SFTP packet identifier for this request
properties | [R] | The hash of properties associated with this request. Properties allow programmers to associate arbitrary data with a request, making state machines richer.
properties | [R] | The hash of properties associated with this request. Properties allow programmers to associate arbitrary data with a request, making state machines richer.
response | [R] | The response that was received for this request (see Net::SFTP::Response)
response | [R] | The response that was received for this request (see Net::SFTP::Response)
session | [R] | The Net::SFTP session object that is servicing this request
session | [R] | The Net::SFTP session object that is servicing this request
type | [R] | The type of this request (e.g., :open, :symlink, etc.)
type | [R] | The type of this request (e.g., :open, :symlink, etc.)

### Public Instance methods

[](key)

Returns the value of property with the given `key`. If `key` is not a symbol, it will be converted to a symbol before lookup.

[Source]

        # File lib/net/sftp/request.rb, line 50
    50:     def [](key)
    51:       properties[key.to_sym]
    52:     end

[](key)

Returns the value of property with the given `key`. If `key` is not a symbol, it will be converted to a symbol before lookup.

[Source]

        # File lib/net/sftp/request.rb, line 50
    50:     def [](key)
    51:       properties[key.to_sym]
    52:     end

[]=(key, value)

Sets the value of the property with name `key` to `value`. If `key` is not a symbol, it will be converted to a symbol before lookup.

[Source]

        # File lib/net/sftp/request.rb, line 56
    56:     def []=(key, value)
    57:       properties[key.to_sym] = value
    58:     end

[]=(key, value)

Sets the value of the property with name `key` to `value`. If `key` is not a symbol, it will be converted to a symbol before lookup.

[Source]

        # File lib/net/sftp/request.rb, line 56
    56:     def []=(key, value)
    57:       properties[key.to_sym] = value
    58:     end

pending?()

Returns `true` if the request is still waiting for a response from the server, and `false` otherwise. The SSH event loop must be run in order for a request to be processed; see wait.

[Source]

        # File lib/net/sftp/request.rb, line 63
    63:     def pending?
    64:       session.pending_requests.key?(id)
    65:     end

pending?()

Returns `true` if the request is still waiting for a response from the server, and `false` otherwise. The SSH event loop must be run in order for a request to be processed; see wait.

[Source]

        # File lib/net/sftp/request.rb, line 63
    63:     def pending?
    64:       session.pending_requests.key?(id)
    65:     end

wait()

Waits (blocks) until the server responds to this packet. If prior SFTP packets were also pending, they will be processed as well (since SFTP packets are processed in the order in which they are received by the server). Returns the request object itself.

[Source]

        # File lib/net/sftp/request.rb, line 71
    71:     def wait
    72:       session.loop { pending? }
    73:       self
    74:     end

wait()

Waits (blocks) until the server responds to this packet. If prior SFTP packets were also pending, they will be processed as well (since SFTP packets are processed in the order in which they are received by the server). Returns the request object itself.

[Source]

        # File lib/net/sftp/request.rb, line 71
    71:     def wait
    72:       session.loop { pending? }
    73:       self
    74:     end

[Validate]