rsync method
Future<void>
rsync(
- ShadertoyStore metadataStore,
- VaultStore assetStore,
- HybridSyncMode mode, {
- SyncTaskRunner? runner,
- int? concurrency,
- int? timeout,
- List<
String> playlistIds = const <String>[],
override
Synchronizes the metadataStore
with the remote shadertoy data.
metadataStore
: AShadertoyStore
implementation to store the metadataassetStore
: AVaultStore
implementation to store shader and user assetsmode
: Specifies the mode used on the synchronization, either full or newestconcurrency
: Maximum number of simultaneous requeststimeout
: Request timeout in secondsplaylistIds
: The playlists to synchronize
Implementation
@override
Future<void> rsync(
ShadertoyStore metadataStore, VaultStore assetStore, HybridSyncMode mode,
{SyncTaskRunner? runner,
int? concurrency,
int? timeout,
List<String> playlistIds = const <String>[]}) async {
final shaderProcessor = ShaderSyncProcessor(this, metadataStore, assetStore,
runner: runner, concurrency: concurrency, timeout: timeout);
final shaderSyncResult = await shaderProcessor.syncShaders(mode);
final userProcessor = UserSyncProcessor(this, metadataStore, assetStore,
runner: runner, concurrency: concurrency, timeout: timeout);
final userSyncResult =
await userProcessor.syncUsers(shaderSyncResult, mode);
final playlistProcessor = PlaylistSyncProcessor(
this, metadataStore, assetStore,
runner: runner, concurrency: concurrency, timeout: timeout);
await playlistProcessor.syncPlaylists(
shaderSyncResult, userSyncResult, playlistIds);
}