2424using MLAPI . Spawning ;
2525using static MLAPI . Messaging . CustomMessagingManager ;
2626using MLAPI . Exceptions ;
27+ using MLAPI . Transports . Tasks ;
2728
2829namespace MLAPI
2930{
@@ -319,7 +320,6 @@ private void Init(bool server)
319320 networkTimeOffset = 0f ;
320321 currentNetworkTimeOffset = 0f ;
321322 networkTimeInitialized = false ;
322- lastSendTickTime = 0f ;
323323 lastEventTickTime = 0f ;
324324 lastReceiveTickTime = 0f ;
325325 eventOvershootCounter = 0f ;
@@ -395,13 +395,13 @@ private void Init(bool server)
395395 /// <summary>
396396 /// Starts a server
397397 /// </summary>
398- public void StartServer ( )
398+ public SocketTasks StartServer ( )
399399 {
400400 if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StartServer()" ) ;
401401 if ( IsServer || IsClient )
402402 {
403403 if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Cannot start server while an instance is already running" ) ;
404- return ;
404+ return SocketTask . Fault . AsTasks ( ) ;
405405 }
406406
407407 if ( NetworkConfig . ConnectionApproval )
@@ -413,7 +413,8 @@ public void StartServer()
413413 }
414414
415415 Init ( true ) ;
416- NetworkConfig . NetworkTransport . StartServer ( ) ;
416+
417+ SocketTasks tasks = NetworkConfig . NetworkTransport . StartServer ( ) ;
417418
418419 IsServer = true ;
419420 IsClient = false ;
@@ -423,26 +424,32 @@ public void StartServer()
423424
424425 if ( OnServerStarted != null )
425426 OnServerStarted . Invoke ( ) ;
427+
428+ return tasks ;
426429 }
427430
428431 /// <summary>
429432 /// Starts a client
430433 /// </summary>
431- public void StartClient ( )
434+ public SocketTasks StartClient ( )
432435 {
433436 if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StartClient()" ) ;
437+
434438 if ( IsServer || IsClient )
435439 {
436440 if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Cannot start client while an instance is already running" ) ;
437- return ;
441+ return SocketTask . Fault . AsTasks ( ) ;
438442 }
439443
440444 Init ( false ) ;
441- NetworkConfig . NetworkTransport . StartClient ( ) ;
445+
446+ SocketTasks tasks = NetworkConfig . NetworkTransport . StartClient ( ) ;
442447
443448 IsServer = false ;
444449 IsClient = true ;
445450 IsListening = true ;
451+
452+ return tasks ;
446453 }
447454
448455 /// <summary>
@@ -510,13 +517,14 @@ public void StopClient()
510517 /// <summary>
511518 /// Starts a Host
512519 /// </summary>
513- public void StartHost ( Vector3 ? position = null , Quaternion ? rotation = null , bool ? createPlayerObject = null , ulong ? prefabHash = null , Stream payloadStream = null )
520+ public SocketTasks StartHost ( Vector3 ? position = null , Quaternion ? rotation = null , bool ? createPlayerObject = null , ulong ? prefabHash = null , Stream payloadStream = null )
514521 {
515522 if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StartHost()" ) ;
523+
516524 if ( IsServer || IsClient )
517525 {
518526 if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Cannot start host while an instance is already running" ) ;
519- return ;
527+ return SocketTask . Fault . AsTasks ( ) ;
520528 }
521529
522530 if ( NetworkConfig . ConnectionApproval )
@@ -528,7 +536,8 @@ public void StartHost(Vector3? position = null, Quaternion? rotation = null, boo
528536 }
529537
530538 Init ( true ) ;
531- NetworkConfig . NetworkTransport . StartServer ( ) ;
539+
540+ SocketTasks tasks = NetworkConfig . NetworkTransport . StartServer ( ) ;
532541
533542 IsServer = true ;
534543 IsClient = true ;
@@ -558,6 +567,8 @@ public void StartHost(Vector3? position = null, Quaternion? rotation = null, boo
558567
559568 if ( OnServerStarted != null )
560569 OnServerStarted . Invoke ( ) ;
570+
571+ return tasks ;
561572 }
562573
563574 private void OnEnable ( )
@@ -601,28 +612,13 @@ private void Shutdown()
601612 }
602613
603614 private float lastReceiveTickTime ;
604- private float lastSendTickTime ;
605615 private float lastEventTickTime ;
606616 private float eventOvershootCounter ;
607617 private float lastTimeSyncTime ;
608618 private void Update ( )
609619 {
610620 if ( IsListening )
611621 {
612- if ( ( NetworkTime - lastSendTickTime >= ( 1f / NetworkConfig . SendTickrate ) ) || NetworkConfig . SendTickrate <= 0 )
613- {
614- if ( NetworkConfig . EnableNetworkedVar )
615- {
616- NetworkedObject . NetworkedBehaviourUpdate ( ) ;
617- }
618-
619- foreach ( KeyValuePair < ulong , NetworkedClient > pair in ConnectedClients )
620- {
621- NetworkConfig . NetworkTransport . FlushSendQueue ( pair . Key ) ;
622- }
623-
624- lastSendTickTime = NetworkTime ;
625- }
626622 if ( ( NetworkTime - lastReceiveTickTime >= ( 1f / NetworkConfig . ReceiveTickrate ) ) || NetworkConfig . ReceiveTickrate <= 0 )
627623 {
628624 NetworkProfiler . StartTick ( TickType . Receive ) ;
@@ -701,7 +697,7 @@ private void Update()
701697 }
702698 }
703699 // Send the hail
704- InternalMessageSender . Send ( clientId , MLAPIConstants . MLAPI_CERTIFICATE_HAIL , "MLAPI_INTERNAL" , hailStream , SecuritySendFlags . None , null , true ) ;
700+ InternalMessageSender . Send ( clientId , MLAPIConstants . MLAPI_CERTIFICATE_HAIL , "MLAPI_INTERNAL" , hailStream , SecuritySendFlags . None , null ) ;
705701 }
706702 }
707703 else
@@ -759,6 +755,13 @@ private void Update()
759755 eventOvershootCounter += ( ( NetworkTime - lastEventTickTime ) - ( 1f / NetworkConfig . EventTickrate ) ) ;
760756 LagCompensationManager . AddFrames ( ) ;
761757 ResponseMessageManager . CheckTimeouts ( ) ;
758+
759+ if ( NetworkConfig . EnableNetworkedVar )
760+ {
761+ // Do NetworkedVar updates
762+ NetworkedObject . NetworkedBehaviourUpdate ( ) ;
763+ }
764+
762765 lastEventTickTime = NetworkTime ;
763766 NetworkProfiler . EndTick ( ) ;
764767 }
@@ -813,7 +816,7 @@ internal void SendConnectionRequest()
813816 writer . WriteByteArray ( NetworkConfig . ConnectionData ) ;
814817 }
815818
816- InternalMessageSender . Send ( ServerClientId , MLAPIConstants . MLAPI_CONNECTION_REQUEST , "MLAPI_INTERNAL" , stream , SecuritySendFlags . Authenticated | SecuritySendFlags . Encrypted , null , true ) ;
819+ InternalMessageSender . Send ( ServerClientId , MLAPIConstants . MLAPI_CONNECTION_REQUEST , "MLAPI_INTERNAL" , stream , SecuritySendFlags . Authenticated | SecuritySendFlags . Encrypted , null ) ;
817820 }
818821 }
819822
@@ -1063,7 +1066,7 @@ private void SyncTime()
10631066 using ( PooledBitWriter writer = PooledBitWriter . Get ( stream ) )
10641067 {
10651068 writer . WriteSinglePacked ( Time . realtimeSinceStartup ) ;
1066- InternalMessageSender . Send ( MLAPIConstants . MLAPI_TIME_SYNC , "MLAPI_TIME_SYNC" , stream , SecuritySendFlags . None , null , true ) ;
1069+ InternalMessageSender . Send ( MLAPIConstants . MLAPI_TIME_SYNC , "MLAPI_TIME_SYNC" , stream , SecuritySendFlags . None , null ) ;
10671070 }
10681071 }
10691072 }
@@ -1190,7 +1193,7 @@ internal void HandleApproval(ulong clientId, bool createPlayerObject, ulong? pla
11901193 }
11911194 }
11921195
1193- InternalMessageSender . Send ( clientId , MLAPIConstants . MLAPI_CONNECTION_APPROVED , "MLAPI_INTERNAL" , stream , SecuritySendFlags . Encrypted | SecuritySendFlags . Authenticated , null , true ) ;
1196+ InternalMessageSender . Send ( clientId , MLAPIConstants . MLAPI_CONNECTION_APPROVED , "MLAPI_INTERNAL" , stream , SecuritySendFlags . Encrypted | SecuritySendFlags . Authenticated , null ) ;
11941197
11951198 if ( OnClientConnectedCallback != null )
11961199 OnClientConnectedCallback . Invoke ( clientId ) ;
0 commit comments