withSIX.Play.Core.Games.Legacy.ServerQuery.ServerQueryQueue.Sync C# (CSharp) Method

Sync() private method

private Sync ( ICollection objects, CancellationToken token ) : Task
objects ICollection
token System.Threading.CancellationToken
return Task
        Task Sync(ICollection<Server> objects, CancellationToken token) {
            State = new ServerQueryOverallState {Maximum = objects.Count, UnProcessed = objects.Count};

            return Enumerable.Empty<ServerQueryState>().SimpleRunningQueueAsync(1,
                blockingCollection => SyncServers(objects, token, state => {
                    if (!state.Success) {
                        state.Server.IsUpdating = false;
                        return;
                    }
                    blockingCollection.Add(state);
                }),
                x => {
                    TryUpdateServerFromSyncInfo(x);
                    State.IncrementProcessed();
                });
        }