@@ -333,37 +333,35 @@ internal void SetServerMessageOrder(NativeArray<uint> messagesInIdOrder)
333333
334334 public void HandleMessage ( in MessageHeader header , FastBufferReader reader , ulong senderId , float timestamp , int serializedHeaderSize )
335335 {
336- if ( header . MessageType >= m_HighMessageType )
337- {
338- Debug . LogWarning ( $ "Received a message with invalid message type value { header . MessageType } ") ;
339- reader . Dispose ( ) ;
340- return ;
341- }
342- var context = new NetworkContext
343- {
344- SystemOwner = m_Owner ,
345- SenderId = senderId ,
346- Timestamp = timestamp ,
347- Header = header ,
348- SerializedHeaderSize = serializedHeaderSize ,
349- MessageSize = header . MessageSize ,
350- } ;
351-
352- var type = m_ReverseTypeMap [ header . MessageType ] ;
353- if ( ! CanReceive ( senderId , type , reader , ref context ) )
336+ using ( reader )
354337 {
355- reader . Dispose ( ) ;
356- return ;
357- }
338+ if ( header . MessageType >= m_HighMessageType )
339+ {
340+ Debug . LogWarning ( $ "Received a message with invalid message type value { header . MessageType } ") ;
341+ return ;
342+ }
343+ var context = new NetworkContext
344+ {
345+ SystemOwner = m_Owner ,
346+ SenderId = senderId ,
347+ Timestamp = timestamp ,
348+ Header = header ,
349+ SerializedHeaderSize = serializedHeaderSize ,
350+ MessageSize = header . MessageSize ,
351+ } ;
352+
353+ var type = m_ReverseTypeMap [ header . MessageType ] ;
354+ if ( ! CanReceive ( senderId , type , reader , ref context ) )
355+ {
356+ return ;
357+ }
358358
359- for ( var hookIdx = 0 ; hookIdx < m_Hooks . Count ; ++ hookIdx )
360- {
361- m_Hooks [ hookIdx ] . OnBeforeReceiveMessage ( senderId , type , reader . Length + FastBufferWriter . GetWriteSize < MessageHeader > ( ) ) ;
362- }
359+ var handler = m_MessageHandlers [ header . MessageType ] ;
360+ for ( var hookIdx = 0 ; hookIdx < m_Hooks . Count ; ++ hookIdx )
361+ {
362+ m_Hooks [ hookIdx ] . OnBeforeReceiveMessage ( senderId , type , reader . Length + FastBufferWriter . GetWriteSize < MessageHeader > ( ) ) ;
363+ }
363364
364- var handler = m_MessageHandlers [ header . MessageType ] ;
365- using ( reader )
366- {
367365 // This will also log an exception is if the server knows about a message type the client doesn't know
368366 // about. In this case the handler will be null. It is still an issue the user must deal with: If the
369367 // two connecting builds know about different messages, the server should not send a message to a client
@@ -388,10 +386,10 @@ public void HandleMessage(in MessageHeader header, FastBufferReader reader, ulon
388386 Debug . LogException ( e ) ;
389387 }
390388 }
391- }
392- for ( var hookIdx = 0 ; hookIdx < m_Hooks . Count ; ++ hookIdx )
393- {
394- m_Hooks [ hookIdx ] . OnAfterReceiveMessage ( senderId , type , reader . Length + FastBufferWriter . GetWriteSize < MessageHeader > ( ) ) ;
389+ for ( var hookIdx = 0 ; hookIdx < m_Hooks . Count ; ++ hookIdx )
390+ {
391+ m_Hooks [ hookIdx ] . OnAfterReceiveMessage ( senderId , type , reader . Length + FastBufferWriter . GetWriteSize < MessageHeader > ( ) ) ;
392+ }
395393 }
396394 }
397395
0 commit comments