do_data (Net::SFTP::Protocol::Driver)

    # File lib/net/sftp/protocol/driver.rb, line 163
        def do_data( channel, data )
          if @parsed_data
            @parsed_data[:content].append data
            return if @parsed_data[:length] > @parsed_data[:content].length

            type = @parsed_data[:type]
            content = @parsed_data[:content]
            @parsed_data = nil
          else
            reader = @buffers.reader( data )
            length = reader.read_long-1
            type = reader.read_byte
            content = reader.remainder_as_buffer

            if length > content.length
              @parsed_data = { :length => length,
                               :type => type,
                               :content => content }
              return
            end
          end

          if type == FXP_VERSION
            do_version content
          else
            assert_state :open
            @dispatcher.dispatch channel, type, content
          end
        end