---
title: roSyncPool
slug: develop/rosyncpool
docTags: 
createdAt: 2025-03-11T07:07:18.732Z
---

We recommend using [roAssetPool](docId\:dz9ZC0Ke6JLQnIbuNuq0n) instead. BrightSign enables the *http\://, https\://, ftp\://,* and *file://* protocols.

Object Creation: The *roSyncPool* object is created with a single parameter that specifies the file path where the pool is located.

```text
CreateObject("roSyncPool", pool_path As String)
```

Example

```text
pool = CreateObject ("roSyncPool", "SD:/pool")
```

## ifSyncPool

### ValidateFiles(sync\_spec As roSyncSpec, directory As String, options\_array As roAssociativeArray) As Object

Validates the files in the specified directory against the hashes in the specified sync spec. Files that are not in the sync spec are ignored. The options array can currently contain the following optional parameters:

- `DelteCorrupt` <font color="#6B21A8">boolean</font>: Automatically delete files that do not match the sync spec. The method will return an associative array that maps each filename to an explanation of why it is corrupt. The array only contains corrupt files, so the success is reported by the method returning an empty associative array.

### GetFailureReason() As String

### AsyncDownload(a As Object) As Boolean

### AsyncCancel() As Boolean

### Realize(a As Object, b As String) As Object

### ProtectFiles(a As Object, b As Integer) As Boolean

### ReserveMegabytes(a As Integer) As Boolean

### GetPoolSizeInMegabytes() As Integer

### EstimateRealizedSizeInMegabytes(a As Object, b As String) As Integer

### IsReady(a As Object) As Boolean

### Validate(a As Object, b As Object) As Boolean

### EnablePeerVerification(a As Boolean)

### EnableHostVerification(a As Boolean)

### SetCertificatesFile(a As String)

### SetUserAndPassword(a As String, b As String) As Boolean

### AddHeader(a As String, b As String)

### SetHeaders(a As Object) As Boolean

### SetMinimumTransferRate(a As Integer, b As Integer) As Boolean

### AsyncSuggestCache(a As Object) As Boolean

### SetProxy(a As String) As Boolean

### SetProxyBypass(a As Array) As Boolean

### SetFileProgressIntervalSeconds(a As Integer) As Boolean

### QueryFiles(a As Object) As Object

### SetFileRetryCount(a As Integer) As Boolean

### SetRelativeLinkPrefix(prefix As String) As Boolean

### BindToInterface(interface As Integer) As Boolean

### EnableUnsafeAuthentication(a As Boolean)

### EnableUnsafeProxyAuthentication(enable As Boolean) As Boolean

### EnableEncodings(enable As Boolean) As Boolean

### SetMaximumReceiveBytesPerSecond(bytes\_per\_second as Double) As Boolean

### SetMaximumPoolSizeMegabytes(maximum\_size As Integer) As Boolean

## ifIdentity

### GetIdentity() As Integer

:::hint{type="info"}
The *ifSourceIdentity* interface has been deprecated. We recommend using the *ifUserData* interface instead.
:::

## ifMessagePort

### SetPort(a As Object)

## ifUserData

### SetUserData(user\_data As Object)

Sets the user data that will be returned when events are raised.

### GetUserData() As Object

Returns the user data that has previously been set via `SetUserData()`. It will return `Invalid` if no data has been set.
