@@ -25,7 +25,7 @@ public abstract class NetworkChannelBase : INetworkChannel, IDisposable
2525 private const float DefaultHeartBeatInterval = 30f ;
2626 private const int DefaultMissHeartBeatCountByClose = 10 ;
2727
28- protected readonly Queue < MessageObject > PSendPacketPool ;
28+ protected readonly GameFrameworkLinkedList < MessageObject > PSendPacketPool ;
2929 protected readonly INetworkChannelHelper PNetworkChannelHelper ;
3030 protected AddressFamily PAddressFamily ;
3131
@@ -96,7 +96,7 @@ protected bool PActive
9696 public NetworkChannelBase ( string name , INetworkChannelHelper networkChannelHelper , int rpcTimeout )
9797 {
9898 Name = name ?? string . Empty ;
99- PSendPacketPool = new Queue < MessageObject > ( 128 ) ;
99+ PSendPacketPool = new GameFrameworkLinkedList < MessageObject > ( ) ;
100100 PNetworkChannelHelper = networkChannelHelper ;
101101 PAddressFamily = AddressFamily . Unknown ;
102102 PResetHeartBeatElapseSecondsWhenReceivePacket = false ;
@@ -117,7 +117,6 @@ public NetworkChannelBase(string name, INetworkChannelHelper networkChannelHelpe
117117 NetworkChannelClosed = null ;
118118 NetworkChannelMissHeartBeat = null ;
119119 NetworkChannelError = null ;
120- NetworkChannelCustomError = null ;
121120
122121 networkChannelHelper . Initialize ( this ) ;
123122 }
@@ -669,7 +668,7 @@ public void Send<T>(T messageObject) where T : MessageObject
669668
670669 lock ( PSendPacketPool )
671670 {
672- PSendPacketPool . Enqueue ( messageObject ) ;
671+ PSendPacketPool . AddLast ( messageObject ) ;
673672 }
674673 }
675674
@@ -740,10 +739,10 @@ protected virtual bool ProcessSend()
740739 }
741740
742741
743- while ( PSendPacketPool . Count > 0 )
742+ while ( PSendPacketPool . First != null )
744743 {
745- var messageObject = PSendPacketPool . Dequeue ( ) ;
746-
744+ var messageObject = PSendPacketPool . First . Value ;
745+ PSendPacketPool . RemoveFirst ( ) ;
747746 bool serializeResult = false ;
748747 try
749748 {
0 commit comments