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

# Class AbstractSync

Class that holds an event dispatcher

  Guzzle\Common\AbstractHasDispatcher implements Guzzle\Common\HasDispatcherInterface
  Aws\S3\Sync\AbstractSync

### Direct known subclasses

`Aws\S3\Sync\DownloadSync`, `Aws\S3\Sync\UploadSync`

Abstract
Namespace: Aws\S3\Sync
Located at Aws/S3/Sync/AbstractSync.php

## Methods summary

- `public` `__construct ( array $options )`
- `public static` `getAllEvents ( )`

  Get a list of all of the events emitted from the class

- `public` `transfer ( )`

  Begin transferring files

- `abstract protected` `createTransferAction ( SplFileInfo $file )`

  Create a command or special transfer action for the

- `protected` `init ( )`

  Hook to initialize subclasses

- `protected` `transferFiles ( array $files )`

  Process and transfer a group of files

- `protected` `transferCommands ( array $commands )`

  Transfer an array of commands in parallel

## Methods detail

# `public`
`__construct( array $options )`

#### Parameters

$options
  `array`
  $options Associative array of options: - client: (S3Client) used to transfer requests - bucket: (string) Amazon S3 bucket - iterator: (\Iterator) Iterator that yields SplFileInfo objects to transfer - source_converter: (FilenameConverterInterface) Converter used to convert filenames - *: Any other options required by subclasses

# `public static array`
`getAllEvents( )`

Get a list of all of the events emitted from the class

#### Returns

`array`

#### Overrides

`Guzzle\Common\AbstractHasDispatcher::getAllEvents`
# `public`
`transfer( )`

Begin transferring files

# `abstract protected `Guzzle\Service\Command\CommandInterface`|callable`
`createTransferAction( `SplFileInfo` $file )`

Create a command or special transfer action for the

#### Parameters

$file
  ``SplFileInfo``
  $file File used to build the transfer

#### Returns

``Guzzle\Service\Command\CommandInterface`|callable`
# `protected`
`init( )`

Hook to initialize subclasses

#### CodeCoverageIgnore

# `protected`
`transferFiles( array $files )`

Process and transfer a group of files

#### Parameters

$files
  `array`
  $files Files to transfer

# `protected`
`transferCommands( array $commands )`

Transfer an array of commands in parallel

#### Parameters

$commands
  `array`
  $commands Commands to transfer

### Methods inherited from Guzzle\Common\AbstractHasDispatcher

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

### Magic methods summary

## Constants summary

`string` | `BEFORE_TRANSFER` | `'s3.sync.before_transfer'` | #
`string` | `AFTER_TRANSFER` | `'s3.sync.after_transfer'` | #

## Properties summary

`protected `Guzzle\Common\Collection`` | $options | #

### Properties inherited from Guzzle\Common\AbstractHasDispatcher

`$eventDispatcher`