Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
BucketSet.cs
Go to the documentation of this file.
1namespace System.Transactions;
2
3internal sealed class BucketSet
4{
5 internal object nextSetWeak;
6
7 internal BucketSet prevSet;
8
9 private readonly TransactionTable _table;
10
11 private readonly long _absoluteTimeout;
12
14
16
17 internal BucketSet(TransactionTable table, long absoluteTimeout)
18 {
19 headBucket = new Bucket(this);
20 _table = table;
21 _absoluteTimeout = absoluteTimeout;
22 }
23
24 internal void Add(InternalTransaction newTx)
25 {
26 while (!headBucket.Add(newTx))
27 {
28 }
29 }
30
31 internal void TimeoutTransactions()
32 {
33 Bucket bucket = headBucket;
34 do
35 {
36 bucket.TimeoutTransactions();
37 WeakReference nextBucketWeak = bucket.nextBucketWeak;
38 bucket = ((nextBucketWeak == null) ? null : ((Bucket)nextBucketWeak.Target));
39 }
40 while (bucket != null);
41 }
42}
void Add(InternalTransaction newTx)
Definition BucketSet.cs:24
readonly long _absoluteTimeout
Definition BucketSet.cs:11
readonly TransactionTable _table
Definition BucketSet.cs:9
BucketSet(TransactionTable table, long absoluteTimeout)
Definition BucketSet.cs:17
bool Add(InternalTransaction tx)
Definition Bucket.cs:30
WeakReference nextBucketWeak
Definition Bucket.cs:15
virtual ? object Target