22using System ;
33using System . Collections ;
44using System . Collections . Generic ;
5- using System . IO ;
65using System . Linq ;
7- using System . Text ;
86using NUnit . Framework ;
97using Unity . Collections ;
108using Unity . Multiplayer . Tools . MetricTypes ;
@@ -28,17 +26,12 @@ public IEnumerator TrackNetworkMessageSentMetric()
2826 var waitForMetricValues = new WaitForMetricValues < NetworkMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . NetworkMessageSent ) ;
2927
3028 var messageName = Guid . NewGuid ( ) ;
31- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
32- try
29+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
3330 {
3431 writer . WriteValueSafe ( messageName ) ;
35-
32+
3633 Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , FirstClient . LocalClientId , writer ) ;
3734 }
38- finally
39- {
40- writer . Dispose ( ) ;
41- }
4235
4336 yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
4437
@@ -55,18 +48,13 @@ public IEnumerator TrackNetworkMessageSentMetricToMultipleClients()
5548 {
5649 var waitForMetricValues = new WaitForMetricValues < NetworkMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . NetworkMessageSent ) ;
5750 var messageName = Guid . NewGuid ( ) ;
58- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
59- try
51+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
6052 {
6153 writer . WriteValueSafe ( messageName ) ;
62-
54+
6355 Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , new List < ulong > { FirstClient . LocalClientId , SecondClient . LocalClientId } , writer ) ;
6456 }
65- finally
66- {
67- writer . Dispose ( ) ;
68- }
69-
57+
7058
7159 yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
7260
@@ -78,24 +66,19 @@ public IEnumerator TrackNetworkMessageSentMetricToMultipleClients()
7866 public IEnumerator TrackNetworkMessageReceivedMetric ( )
7967 {
8068 var messageName = Guid . NewGuid ( ) ;
81- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
69+
8270 LogAssert . Expect ( LogType . Log , $ "Received from { Server . LocalClientId } ") ;
8371 FirstClient . CustomMessagingManager . RegisterNamedMessageHandler ( messageName . ToString ( ) , ( ulong sender , FastBufferReader payload ) =>
8472 {
8573 Debug . Log ( $ "Received from { sender } ") ;
8674 } ) ;
8775 var waitForMetricValues = new WaitForMetricValues < NetworkMessageEvent > ( FirstClientMetrics . Dispatcher , NetworkMetricTypes . NetworkMessageReceived ) ;
88-
89- try
76+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
9077 {
9178 writer . WriteValueSafe ( messageName ) ;
92-
79+
9380 Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , FirstClient . LocalClientId , writer ) ;
9481 }
95- finally
96- {
97- writer . Dispose ( ) ;
98- }
9982
10083 yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
10184
@@ -110,19 +93,14 @@ public IEnumerator TrackNetworkMessageReceivedMetric()
11093 public IEnumerator TrackNamedMessageSentMetric ( )
11194 {
11295 var waitForMetricValues = new WaitForMetricValues < NamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . NamedMessageSent ) ;
113-
96+
11497 var messageName = Guid . NewGuid ( ) ;
115- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
116- try
98+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
11799 {
118100 writer . WriteValueSafe ( messageName ) ;
119-
101+
120102 Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , FirstClient . LocalClientId , writer ) ;
121103 }
122- finally
123- {
124- writer . Dispose ( ) ;
125- }
126104
127105
128106 yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
@@ -141,18 +119,13 @@ public IEnumerator TrackNamedMessageSentMetricToMultipleClients()
141119 {
142120 var waitForMetricValues = new WaitForMetricValues < NamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . NamedMessageSent ) ;
143121 var messageName = Guid . NewGuid ( ) ;
144- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
145- try
122+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
146123 {
147124 writer . WriteValueSafe ( messageName ) ;
148-
125+
149126 Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , new List < ulong > { FirstClient . LocalClientId , SecondClient . LocalClientId } , writer ) ;
150127 }
151- finally
152- {
153- writer . Dispose ( ) ;
154- }
155-
128+
156129
157130 yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
158131
@@ -162,31 +135,43 @@ public IEnumerator TrackNamedMessageSentMetricToMultipleClients()
162135 Assert . That ( namedMessageSentMetricValues . Select ( x => x . BytesCount ) , Has . All . EqualTo ( FastBufferWriter . GetWriteSize ( messageName ) + MessageOverhead ) ) ;
163136 }
164137
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+
165155 [ UnityTest ]
166156 public IEnumerator TrackNamedMessageReceivedMetric ( )
167157 {
168158 var waitForMetricValues = new WaitForMetricValues < NamedMessageEvent > ( FirstClientMetrics . Dispatcher , NetworkMetricTypes . NamedMessageReceived ) ;
169-
159+
170160 var messageName = Guid . NewGuid ( ) ;
171-
161+
172162 LogAssert . Expect ( LogType . Log , $ "Received from { Server . LocalClientId } ") ;
173163 FirstClient . CustomMessagingManager . RegisterNamedMessageHandler ( messageName . ToString ( ) , ( ulong sender , FastBufferReader payload ) =>
174164 {
175165 Debug . Log ( $ "Received from { sender } ") ;
176166 } ) ;
177167
178- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
179- try
168+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
180169 {
181170 writer . WriteValueSafe ( messageName ) ;
182-
171+
183172 Server . CustomMessagingManager . SendNamedMessage ( messageName . ToString ( ) , FirstClient . LocalClientId , writer ) ;
184173 }
185- finally
186- {
187- writer . Dispose ( ) ;
188- }
189-
174+
190175
191176 yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
192177
@@ -203,17 +188,12 @@ public IEnumerator TrackNamedMessageReceivedMetric()
203188 public IEnumerator TrackUnnamedMessageSentMetric ( )
204189 {
205190 var message = Guid . NewGuid ( ) ;
206- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
207- try
191+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
208192 {
209193 writer . WriteValueSafe ( message ) ;
210-
194+
211195 Server . CustomMessagingManager . SendUnnamedMessage ( FirstClient . LocalClientId , writer ) ;
212196 }
213- finally
214- {
215- writer . Dispose ( ) ;
216- }
217197
218198
219199 var waitForMetricValues = new WaitForMetricValues < UnnamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . UnnamedMessageSent ) ;
@@ -232,18 +212,13 @@ public IEnumerator TrackUnnamedMessageSentMetric()
232212 public IEnumerator TrackUnnamedMessageSentMetricToMultipleClients ( )
233213 {
234214 var message = Guid . NewGuid ( ) ;
235- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
236215 var waitForMetricValues = new WaitForMetricValues < UnnamedMessageEvent > ( ServerMetrics . Dispatcher , NetworkMetricTypes . UnnamedMessageSent ) ;
237- try
216+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
238217 {
239218 writer . WriteValueSafe ( message ) ;
240-
219+
241220 Server . CustomMessagingManager . SendUnnamedMessage ( new List < ulong > { FirstClient . LocalClientId , SecondClient . LocalClientId } , writer ) ;
242221 }
243- finally
244- {
245- writer . Dispose ( ) ;
246- }
247222
248223
249224 yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
@@ -257,22 +232,34 @@ public IEnumerator TrackUnnamedMessageSentMetricToMultipleClients()
257232 Assert . Contains ( SecondClient . LocalClientId , clientIds ) ;
258233 }
259234
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+
260252 [ UnityTest ]
261253 public IEnumerator TrackUnnamedMessageReceivedMetric ( )
262254 {
263255 var message = Guid . NewGuid ( ) ;
264- var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) ;
265256 var waitForMetricValues = new WaitForMetricValues < UnnamedMessageEvent > ( FirstClientMetrics . Dispatcher , NetworkMetricTypes . UnnamedMessageReceived ) ;
266- try
257+ using ( var writer = new FastBufferWriter ( 1300 , Allocator . Temp ) )
267258 {
268259 writer . WriteValueSafe ( message ) ;
269-
260+
270261 Server . CustomMessagingManager . SendUnnamedMessage ( FirstClient . LocalClientId , writer ) ;
271262 }
272- finally
273- {
274- writer . Dispose ( ) ;
275- }
276263
277264 yield return waitForMetricValues . WaitForMetricsReceived ( ) ;
278265
0 commit comments