Skip to content

Commit 61939fd

Browse files
committed
refactor: restore SynchronizationProgressEntity
1 parent 7c99684 commit 61939fd

1 file changed

Lines changed: 18 additions & 151 deletions

File tree

Lines changed: 18 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -1,163 +1,30 @@
1-
using System.Text.Json.Serialization;
2-
using System.Threading;
3-
4-
namespace ByteSync.ServerCommon.Entities;
1+
namespace ByteSync.ServerCommon.Entities;
52

63
public class SynchronizationProgressEntity
74
{
8-
private long _processedVolume;
9-
private long _exchangedVolume;
10-
private long _versionNumber;
11-
private long _totalActionsCount;
12-
private long _finishedActionsCount;
13-
private int _errorsCount;
14-
[NonSerialized]
15-
private readonly object _lockObject = new object();
16-
175
public SynchronizationProgressEntity()
186
{
197
Members = new List<string>();
208
CompletedMembers = new List<string>();
219
}
2210

23-
[JsonPropertyName("processedVolume")]
24-
public long ProcessedVolume
25-
{
26-
get => _processedVolume;
27-
set => Interlocked.Exchange(ref _processedVolume, value);
28-
}
29-
30-
[JsonPropertyName("exchangedVolume")]
31-
public long ExchangedVolume
32-
{
33-
get => _exchangedVolume;
34-
set => Interlocked.Exchange(ref _exchangedVolume, value);
35-
}
36-
37-
[JsonPropertyName("versionNumber")]
38-
public long VersionNumber
39-
{
40-
get => _versionNumber;
41-
set => Interlocked.Exchange(ref _versionNumber, value);
42-
}
43-
44-
[JsonPropertyName("totalActionsCount")]
45-
public long TotalActionsCount
46-
{
47-
get => _totalActionsCount;
48-
set => Interlocked.Exchange(ref _totalActionsCount, value);
49-
}
50-
51-
[JsonPropertyName("finishedActionsCount")]
52-
public long FinishedActionsCount
53-
{
54-
get => _finishedActionsCount;
55-
set => Interlocked.Exchange(ref _finishedActionsCount, value);
56-
}
57-
58-
[JsonPropertyName("errorsCount")]
59-
public int ErrorsCount
60-
{
61-
get => _errorsCount;
62-
set => Interlocked.Exchange(ref _errorsCount, value);
63-
}
64-
65-
[JsonPropertyName("completedMembers")]
66-
public List<string> CompletedMembers { get; set; } = new List<string>();
67-
68-
[JsonPropertyName("members")]
69-
public List<string> Members { get; set; } = new List<string>();
70-
71-
[JsonIgnore]
72-
public bool AllActionsDone => FinishedActionsCount >= TotalActionsCount;
73-
74-
[JsonIgnore]
75-
public bool AllMembersCompleted => CompletedMembers.Count == Members.Count;
76-
77-
public long AddProcessedVolume(long value)
78-
{
79-
return Interlocked.Add(ref _processedVolume, value);
80-
}
81-
82-
public long AddExchangedVolume(long value)
83-
{
84-
return Interlocked.Add(ref _exchangedVolume, value);
85-
}
86-
87-
public long IncrementVersionNumber()
88-
{
89-
return Interlocked.Increment(ref _versionNumber);
90-
}
91-
92-
public long IncrementFinishedActionsCount()
93-
{
94-
return Interlocked.Increment(ref _finishedActionsCount);
95-
}
96-
97-
public int IncrementErrorsCount()
98-
{
99-
return Interlocked.Increment(ref _errorsCount);
100-
}
11+
public long ProcessedVolume { get; set; }
10112

102-
public void IncrementProcessedVolume(long volume)
103-
{
104-
if (volume > 0)
105-
{
106-
Interlocked.Add(ref _processedVolume, volume);
107-
}
108-
}
13+
public long ExchangedVolume { get; set; }
10914

110-
public void IncrementExchangedVolume(long volume)
111-
{
112-
if (volume > 0)
113-
{
114-
Interlocked.Add(ref _exchangedVolume, volume);
115-
}
116-
}
117-
118-
public void AddCompletedMember(string memberId)
119-
{
120-
if (memberId == null) return;
121-
122-
lock (_lockObject)
123-
{
124-
if (!CompletedMembers.Contains(memberId))
125-
{
126-
CompletedMembers.Add(memberId);
127-
}
128-
}
129-
}
130-
131-
public void AddMember(string memberId)
132-
{
133-
if (memberId == null) return;
134-
135-
lock (_lockObject)
136-
{
137-
if (!Members.Contains(memberId))
138-
{
139-
Members.Add(memberId);
140-
}
141-
}
142-
}
143-
144-
public bool ContainsMember(string memberId)
145-
{
146-
if (memberId == null) return false;
147-
148-
lock (_lockObject)
149-
{
150-
return Members.Contains(memberId);
151-
}
152-
}
153-
154-
public bool ContainsCompletedMember(string memberId)
155-
{
156-
if (memberId == null) return false;
157-
158-
lock (_lockObject)
159-
{
160-
return CompletedMembers.Contains(memberId);
161-
}
162-
}
15+
public long VersionNumber { get; set; }
16+
17+
public long TotalActionsCount { get; set; }
18+
19+
public long FinishedActionsCount { get; set; }
20+
21+
public int ErrorsCount { get; set; }
22+
23+
public List<string> CompletedMembers { get; set; }
24+
25+
public List<string> Members { get; set; }
26+
27+
public bool AllActionsDone => FinishedActionsCount >= TotalActionsCount;
28+
29+
public bool AllMembersCompleted => CompletedMembers.Count == Members.Count;
16330
}

0 commit comments

Comments
 (0)