lib/s3/managed_upload.js
function ManagedUpload(options) {
    var self = this;
    AWS.SequentialExecutor.call(self);
    self.body = null;
    self.sliceFn = null;
    self.callback = null;
    self.parts = {};
    self.completeInfo = [];
    self.fillQueue = function() {
      self.callback(new Error('Unsupported body payload ' + typeof self.body));
    };

    self.configure(options);
  }
function ManagedUpload(options) {
    var self = this;
    AWS.SequentialExecutor.call(self);
    self.body = null;
    self.sliceFn = null;
    self.callback = null;
    self.parts = {};
    self.completeInfo = [];
    self.fillQueue = function() {
      self.callback(new Error('Unsupported body payload ' + typeof self.body));
    };

    self.configure(options);
  }
function ManagedUpload ( options ) { var self = this ; AWS . SequentialExecutor . call ( self ) ; self . body = null ; self . sliceFn = null ; self . callback = null ; self . parts = { } ; self . completeInfo = [ ] ; self . fillQueue = function ( ) { self . callback ( new Error ( 'Unsupported body payload ' + typeof self . body ) ) ; } ; self . configure ( options ) ; }
Creates a managed upload object with a set of configuration options.

@note A "Body" parameter is required to be set prior to calling {send}.
@option options params [map] a map of parameters to pass to the upload
requests. The "Body" parameter is required to be specified either on
the service or in the params option.
@note ContentMD5 should not be provided when using the managed upload object.
Instead, setting "computeChecksums" to true will enable automatic ContentMD5 generation
by the managed upload object.
@option options queueSize [Number] (4) the size of the concurrent queue
manager to upload parts in parallel. Set to 1 for synchronous uploading
of parts. Note that the uploader will buffer at most queueSize * partSize
bytes into memory at any given time.
@option options partSize [Number] (5mb) the size in bytes for each
individual part to be uploaded. Adjust the part size to ensure the number
of parts does not exceed {maxTotalParts}. See {minPartSize} for the
minimum allowed part size.
@option options leavePartsOnError [Boolean] (false) whether to abort the
multipart upload if an error occurs. Set to true if you want to handle
failures manually.
@option options service [AWS.S3] an optional S3 service object to use for
requests. This object might have bound parameters used by the uploader.
@option options tags [Array<map>] The tags to apply to the uploaded object.
Each tag should have a `Key` and `Value` keys.
@example Creating a default uploader for a stream object
var upload = new AWS.S3.ManagedUpload({
params: {Bucket: 'bucket', Key: 'key', Body: stream}
});
@example Creating an uploader with concurrency of 1 and partSize of 10mb
var upload = new AWS.S3.ManagedUpload({
partSize: 10 * 1024 * 1024, queueSize: 1,
params: {Bucket: 'bucket', Key: 'key', Body: stream}
});
@example Creating an uploader with tags
var upload = new AWS.S3.ManagedUpload({
params: {Bucket: 'bucket', Key: 'key', Body: stream},
tags: [{Key: 'tag1', Value: 'value1'}, {Key: 'tag2', Value: 'value2'}]
});
@see send
Creates a managed upload object with a set of configuration options .