--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: "Inititiate a synchronous (non-blocking) upload from <tt>local</tt> to <tt>remote</tt>. The following options are recognized:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: ":recursive - the <tt>local</tt> parameter refers to a local directory, which should be uploaded to a new directory named <tt>remote</tt> on the remote server."
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: ":preserve - the atime and mtime of the file should be preserved."
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: ":verbose - the process should result in verbose output on the server end (useful for debugging)."
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: ":chunk_size - the size of each &quot;chunk&quot; that should be sent. Defaults to 2048. Changing this value may improve throughput at the expense of decreasing interactivity."
  type: :BULLET
- !ruby/struct:SM::Flow::P 
  body: "This method will return immediately, returning the Net::SSH::Connection::Channel object that will support the upload. To wait for the upload to finish, you can either call the #wait method on the channel, or otherwise run the Net::SSH event loop until the channel's #active? method returns false."
- !ruby/struct:SM::Flow::VERB 
  body: "  channel = scp.upload(&quot;/local/path&quot;, &quot;/remote/path&quot;)\n  channel.wait\n"
full_name: Net::SCP#upload
is_singleton: false
name: upload
params: (local, remote, options={}, &progress)
visibility: public
