Updated Syncer
Added check for syncing. If we are syncing, we should be expecting file changes, and not do anything.
This commit is contained in:
parent
f9af985de4
commit
e2c356a723
1 changed files with 5 additions and 0 deletions
|
|
@ -29,6 +29,7 @@ public class Syncer<T> : ISyncer where T : class, IDataModel, new()
|
|||
private string _restEndpoint;
|
||||
|
||||
private bool _isDirty = false;
|
||||
private bool _syncing = false;
|
||||
|
||||
public Syncer(DBSyncWatcher watcher, string dbPath, string dbName, string restEndpoint)
|
||||
{
|
||||
|
|
@ -97,6 +98,8 @@ public class Syncer<T> : ISyncer where T : class, IDataModel, new()
|
|||
{
|
||||
if (dbName != _dbName)
|
||||
return;
|
||||
if (_syncing)
|
||||
return;
|
||||
|
||||
T? entry;
|
||||
try
|
||||
|
|
@ -129,6 +132,7 @@ public class Syncer<T> : ISyncer where T : class, IDataModel, new()
|
|||
{
|
||||
if (!_isDirty)
|
||||
return;
|
||||
_syncing = true;
|
||||
Console.WriteLine($"Syncing {_dbPath}...");
|
||||
var json = new List<string>();
|
||||
foreach (var entry in _entries)
|
||||
|
|
@ -136,5 +140,6 @@ public class Syncer<T> : ISyncer where T : class, IDataModel, new()
|
|||
File.WriteAllLines(_dbPath, json);
|
||||
Console.WriteLine($"Updated {_dbPath}.");
|
||||
_isDirty = false;
|
||||
_syncing = false;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue