2
2
using System ;
3
3
using System . Collections ;
4
4
using System . Collections . Generic ;
5
- using System . IO ;
6
5
using System . Linq ;
7
- using System . Text ;
8
6
using NUnit . Framework ;
9
7
using Unity . Collections ;
10
8
using Unity . Multiplayer . Tools . MetricTypes ;
@@ -28,17 +26,12 @@ public IEnumerator TrackNetworkMessageSentMetric()
28
26
var waitForMetricValues = new WaitForMetricValues < NetworkMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . NetworkMessageSent ) ;
29
27
30
28
var messageName = Guid . NewGuid ( ) ;
31
- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
32
- try
29
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
33
30
{
34
31
writer . WriteValueSafe ( messageName ) ;
35
-
32
+
36
33
Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , FirstClient . LocalClientId , writer ) ;
37
34
}
38
- finally
39
- {
40
- writer . Dispose ( ) ;
41
- }
42
35
43
36
yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
44
37
@@ -55,18 +48,13 @@ public IEnumerator TrackNetworkMessageSentMetricToMultipleClients()
55
48
{
56
49
var waitForMetricValues = new WaitForMetricValues < NetworkMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . NetworkMessageSent ) ;
57
50
var messageName = Guid . NewGuid ( ) ;
58
- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
59
- try
51
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
60
52
{
61
53
writer . WriteValueSafe ( messageName ) ;
62
-
54
+
63
55
Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , new List < ulong > { FirstClient . LocalClientId , SecondClient . LocalClientId } , writer ) ;
64
56
}
65
- finally
66
- {
67
- writer . Dispose ( ) ;
68
- }
69
-
57
+
70
58
71
59
yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
72
60
@@ -78,24 +66,19 @@ public IEnumerator TrackNetworkMessageSentMetricToMultipleClients()
78
66
public IEnumerator TrackNetworkMessageReceivedMetric ( )
79
67
{
80
68
var messageName = Guid . NewGuid ( ) ;
81
- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
69
+
82
70
LogAssert . Expect ( LogType . Log , $ "Received from { Server . LocalClientId } ") ;
83
71
FirstClient . CustomMessagingManager . RegisterNamedMessageHandler ( messageName . ToString ( ) , ( ulong sender , FastBufferReader payload ) =>
84
72
{
85
73
Debug . Log ( $ "Received from { sender } ") ;
86
74
} ) ;
87
75
var waitForMetricValues = new WaitForMetricValues < NetworkMessageEvent > ( FirstClientMetrics . Dispatcher , NetworkMetricTypes . NetworkMessageReceived ) ;
88
-
89
- try
76
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
90
77
{
91
78
writer . WriteValueSafe ( messageName ) ;
92
-
79
+
93
80
Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , FirstClient . LocalClientId , writer ) ;
94
81
}
95
- finally
96
- {
97
- writer . Dispose ( ) ;
98
- }
99
82
100
83
yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
101
84
@@ -110,19 +93,14 @@ public IEnumerator TrackNetworkMessageReceivedMetric()
110
93
public IEnumerator TrackNamedMessageSentMetric ( )
111
94
{
112
95
var waitForMetricValues = new WaitForMetricValues < NamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . NamedMessageSent ) ;
113
-
96
+
114
97
var messageName = Guid . NewGuid ( ) ;
115
- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
116
- try
98
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
117
99
{
118
100
writer . WriteValueSafe ( messageName ) ;
119
-
101
+
120
102
Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , FirstClient . LocalClientId , writer ) ;
121
103
}
122
- finally
123
- {
124
- writer . Dispose ( ) ;
125
- }
126
104
127
105
128
106
yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
@@ -141,18 +119,13 @@ public IEnumerator TrackNamedMessageSentMetricToMultipleClients()
141
119
{
142
120
var waitForMetricValues = new WaitForMetricValues < NamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . NamedMessageSent ) ;
143
121
var messageName = Guid . NewGuid ( ) ;
144
- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
145
- try
122
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
146
123
{
147
124
writer . WriteValueSafe ( messageName ) ;
148
-
125
+
149
126
Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , new List < ulong > { FirstClient . LocalClientId , SecondClient . LocalClientId } , writer ) ;
150
127
}
151
- finally
152
- {
153
- writer . Dispose ( ) ;
154
- }
155
-
128
+
156
129
157
130
yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
158
131
@@ -162,31 +135,43 @@ public IEnumerator TrackNamedMessageSentMetricToMultipleClients()
162
135
Assert . That ( namedMessageSentMetricValues . Select ( x => x . BytesCount ) , Has . All . EqualTo ( FastBufferWriter . GetWriteSize ( messageName ) + MessageOverhead ) ) ;
163
136
}
164
137
138
+ [ UnityTest ]
139
+ public IEnumerator TrackNamedMessageSentMetricToSelf ( )
140
+ {
141
+ var waitForMetricValues = new WaitForMetricValues < NamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . NamedMessageSent ) ;
142
+ var messageName = Guid . NewGuid ( ) ;
143
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
144
+ {
145
+ writer . WriteValueSafe ( messageName ) ;
146
+
147
+ Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , Server . LocalClientId , writer ) ;
148
+ }
149
+
150
+ yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
151
+
152
+ waitForMetricValues . AssertMetricValuesHaveNotBeenFound ( ) ;
153
+ }
154
+
165
155
[ UnityTest ]
166
156
public IEnumerator TrackNamedMessageReceivedMetric ( )
167
157
{
168
158
var waitForMetricValues = new WaitForMetricValues < NamedMessageEvent > ( FirstClientMetrics . Dispatcher , NetworkMetricTypes . NamedMessageReceived ) ;
169
-
159
+
170
160
var messageName = Guid . NewGuid ( ) ;
171
-
161
+
172
162
LogAssert . Expect ( LogType . Log , $ "Received from { Server . LocalClientId } ") ;
173
163
FirstClient . CustomMessagingManager . RegisterNamedMessageHandler ( messageName . ToString ( ) , ( ulong sender , FastBufferReader payload ) =>
174
164
{
175
165
Debug . Log ( $ "Received from { sender } ") ;
176
166
} ) ;
177
167
178
- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
179
- try
168
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
180
169
{
181
170
writer . WriteValueSafe ( messageName ) ;
182
-
171
+
183
172
Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , FirstClient . LocalClientId , writer ) ;
184
173
}
185
- finally
186
- {
187
- writer . Dispose ( ) ;
188
- }
189
-
174
+
190
175
191
176
yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
192
177
@@ -203,17 +188,12 @@ public IEnumerator TrackNamedMessageReceivedMetric()
203
188
public IEnumerator TrackUnnamedMessageSentMetric ( )
204
189
{
205
190
var message = Guid . NewGuid ( ) ;
206
- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
207
- try
191
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
208
192
{
209
193
writer . WriteValueSafe ( message ) ;
210
-
194
+
211
195
Server . CustomMessagingManager . SendUnnamedMessage ( FirstClient . LocalClientId , writer ) ;
212
196
}
213
- finally
214
- {
215
- writer . Dispose ( ) ;
216
- }
217
197
218
198
219
199
var waitForMetricValues = new WaitForMetricValues < UnnamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . UnnamedMessageSent ) ;
@@ -232,18 +212,13 @@ public IEnumerator TrackUnnamedMessageSentMetric()
232
212
public IEnumerator TrackUnnamedMessageSentMetricToMultipleClients ( )
233
213
{
234
214
var message = Guid . NewGuid ( ) ;
235
- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
236
215
var waitForMetricValues = new WaitForMetricValues < UnnamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . UnnamedMessageSent ) ;
237
- try
216
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
238
217
{
239
218
writer . WriteValueSafe ( message ) ;
240
-
219
+
241
220
Server . CustomMessagingManager . SendUnnamedMessage ( new List < ulong > { FirstClient . LocalClientId , SecondClient . LocalClientId } , writer ) ;
242
221
}
243
- finally
244
- {
245
- writer . Dispose ( ) ;
246
- }
247
222
248
223
249
224
yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
@@ -257,22 +232,34 @@ public IEnumerator TrackUnnamedMessageSentMetricToMultipleClients()
257
232
Assert . Contains ( SecondClient . LocalClientId , clientIds ) ;
258
233
}
259
234
235
+ [ UnityTest ]
236
+ public IEnumerator TrackUnnamedMessageSentMetricToSelf ( )
237
+ {
238
+ var waitForMetricValues = new WaitForMetricValues < UnnamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . UnnamedMessageSent ) ;
239
+ var messageName = Guid . NewGuid ( ) ;
240
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
241
+ {
242
+ writer . WriteValueSafe ( messageName ) ;
243
+
244
+ Server . CustomMessagingManager . SendUnnamedMessage ( Server . LocalClientId , writer ) ;
245
+ }
246
+
247
+ yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
248
+
249
+ waitForMetricValues . AssertMetricValuesHaveNotBeenFound ( ) ;
250
+ }
251
+
260
252
[ UnityTest ]
261
253
public IEnumerator TrackUnnamedMessageReceivedMetric ( )
262
254
{
263
255
var message = Guid . NewGuid ( ) ;
264
- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
265
256
var waitForMetricValues = new WaitForMetricValues < UnnamedMessageEvent > ( FirstClientMetrics . Dispatcher , NetworkMetricTypes . UnnamedMessageReceived ) ;
266
- try
257
+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
267
258
{
268
259
writer . WriteValueSafe ( message ) ;
269
-
260
+
270
261
Server . CustomMessagingManager . SendUnnamedMessage ( FirstClient . LocalClientId , writer ) ;
271
262
}
272
- finally
273
- {
274
- writer . Dispose ( ) ;
275
- }
276
263
277
264
yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
278
265
0 commit comments