Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
BatchedJoinBlockTarget.cs
Go to the documentation of this file.
3
5
6[DebuggerDisplay("{DebuggerDisplayContent,nq}")]
9{
10 private sealed class DebugView
11 {
13
15
17 {
18 get
19 {
20 if (!_batchedJoinBlockTarget._decliningPermanently)
21 {
22 return _batchedJoinBlockTarget._sharedResources._decliningPermanently;
23 }
24 return true;
25 }
26 }
27
32 }
33
35
37
38 private IList<T> _messages = new List<T>();
39
40 internal int Count => _messages.Count;
41
42 Task IDataflowBlock.Completion
43 {
44 get
45 {
47 }
48 }
49
50 private object DebuggerDisplayContent => $"{Common.GetNameForDebugger(this)} InputCount={_messages.Count}";
51
52 object IDebuggerDisplay.Content => DebuggerDisplayContent;
53
59
61 {
62 IList<T> messages = _messages;
63 _messages = new List<T>();
64 return messages;
65 }
66
68 {
69 if (!messageHeader.IsValid)
70 {
71 throw new ArgumentException(System.SR.Argument_InvalidMessageHeader, "messageHeader");
72 }
73 if (source == null && consumeToAccept)
74 {
76 }
78 {
80 {
81 return DataflowMessageStatus.DecliningPermanently;
82 }
84 {
85 messageValue = source.ConsumeMessage(messageHeader, this, out var messageConsumed);
86 if (!messageConsumed)
87 {
88 return DataflowMessageStatus.NotAvailable;
89 }
90 }
93 {
95 }
96 return DataflowMessageStatus.Accepted;
97 }
98 }
99
100 public void Complete()
101 {
103 {
105 {
108 {
110 }
111 }
112 }
113 }
114
130}
static string Argument_InvalidMessageHeader
Definition SR.cs:24
static string NotSupported_MemberNotNeeded
Definition SR.cs:36
static string Argument_CantConsumeFromANullSource
Definition SR.cs:22
Definition SR.cs:7
DataflowMessageStatus OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock< T > source, bool consumeToAccept)
BatchedJoinBlockTarget(BatchedJoinBlockTargetSharedResources sharedResources)
readonly BatchedJoinBlockTargetSharedResources _sharedResources