NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class AbstractTransfer

Abstract class for transfer commonalities

  Guzzle\Common\AbstractHasDispatcher implements Guzzle\Common\HasDispatcherInterface
  Aws\Common\Model\MultipartUpload\AbstractTransfer implements Aws\Common\Model\MultipartUpload\TransferInterface
  Aws\S3\Model\MultipartUpload\AbstractTransfer

### Direct known subclasses

`Aws\S3\Model\MultipartUpload\ParallelTransfer`, `Aws\S3\Model\MultipartUpload\SerialTransfer`

Abstract
Namespace: Aws\S3\Model\MultipartUpload
Located at Aws/S3/Model/MultipartUpload/AbstractTransfer.php

## Methods summary

- `protected` `init ( )`

  Hook to initialize the transfer

- `protected` `calculatePartSize ( )`

  Determine the upload part size based on the size of the source data and taking into account the acceptable minimum and maximum part sizes.

- `protected` `complete ( )`

  Complete the multipart upload

- `protected` `getAbortCommand ( )`

  Fetches the abort command fom the concrete implementation

## Methods detail

# `protected`
`init( )`

Hook to initialize the transfer

#### Throws

``Aws\Common\Exception\RuntimeException``
if the part size can not be calculated from the provided data

#### Overrides

`Aws\Common\Model\MultipartUpload\AbstractTransfer::init`
# `protected integer`
`calculatePartSize( )`

Determine the upload part size based on the size of the source data and taking into account the acceptable minimum and maximum part sizes.

#### Returns

`integer`
The part size
# `protected Model`
`complete( )`

Complete the multipart upload

#### Returns

`Model`
Returns the result of the complete multipart upload command
# `protected `Guzzle\Service\Command\OperationCommand``
`getAbortCommand( )`

Fetches the abort command fom the concrete implementation

#### Returns

``Guzzle\Service\Command\OperationCommand``

### Methods inherited from Aws\Common\Model\MultipartUpload\AbstractTransfer

`__construct()`, `__invoke()`, `abort()`, `getAllEvents()`, `getEventData()`, `getOptions()`, `getSource()`, `getState()`, `setOption()`, `stop()`, `transfer()`, `upload()`

### Methods inherited from Guzzle\Common\AbstractHasDispatcher

`addSubscriber()`, `dispatch()`, `getEventDispatcher()`, `setEventDispatcher()`

### Magic methods summary

## Constants summary

`integer` | `MIN_PART_SIZE` | `5242880` | #
`integer` | `MAX_PART_SIZE` | `5368709120` | #
`integer` | `MAX_PARTS` | `10000` | #

### Constants inherited from Aws\Common\Model\MultipartUpload\AbstractTransfer

`AFTER_ABORT`, `AFTER_COMPLETE`, `AFTER_PART_UPLOAD`, `AFTER_UPLOAD`, `BEFORE_PART_UPLOAD`, `BEFORE_UPLOAD`

## Properties summary

### Properties inherited from Aws\Common\Model\MultipartUpload\AbstractTransfer

`$client`, `$options`, `$partSize`, `$source`, `$state`, `$stopped`

### Properties inherited from Guzzle\Common\AbstractHasDispatcher

`$eventDispatcher`