Просмотр исходного кода

CircularBuffer中两个函数命名混乱,重新命名

tanghai 7 лет назад
Родитель
Сommit
927dc90e77

+ 1 - 1
Server/Hotfix/Module/Benchmark/BenchmarkComponentSystem.cs

@@ -21,7 +21,7 @@ namespace ETHotfix
 			try
 			{
 				NetOuterComponent networkComponent = Game.Scene.GetComponent<NetOuterComponent>();
-				for (int i = 0; i < 1000; i++)
+				for (int i = 0; i < 100; i++)
 				{
 					self.TestAsync(networkComponent, ipEndPoint, i);
 				}

+ 0 - 1
Unity/Assets/Scripts/Module/Message/ErrorCode.cs

@@ -10,7 +10,6 @@ namespace ETModel
 		public const int ERR_NotFoundUnit = 104;
 		public const int ERR_ConnectGateKeyError = 105;
 
-		// ´óÓÚÕâ¸ö´íÎóÅ×Òì³£
 		public const int ERR_Exception = 1000;
 
 		public const int ERR_RpcFail = 2001;

+ 12 - 45
Unity/Assets/Scripts/Module/Message/Network/Circularbuffer.cs

@@ -20,16 +20,10 @@ namespace ETModel
 		
         private byte[] lastBuffer;
 
-        public CircularBuffer()
-        {
-            this.AddLast();
-        }
-
-        public CircularBuffer(int chunkSize)
-        {
-            this.ChunkSize = chunkSize;
-            this.AddLast();
-        }
+	    public CircularBuffer()
+	    {
+		    this.AddLast();
+	    }
 
         public override long Length
         {
@@ -46,7 +40,7 @@ namespace ETModel
                 }
                 if (c < 0)
                 {
-                    Log.Error("TBuffer count < 0: {0}, {1}, {2}".Fmt(this.bufferQueue.Count, this.LastIndex, this.FirstIndex));
+                    Log.Error("CircularBuffer count < 0: {0}, {1}, {2}".Fmt(this.bufferQueue.Count, this.LastIndex, this.FirstIndex));
                 }
                 return c;
             }
@@ -97,11 +91,11 @@ namespace ETModel
         }
 
 		/// <summary>
-		/// 从CircularBuffer读取到stream流中
+		/// 从CircularBuffer到stream流中
 		/// </summary>
 		/// <param name="stream"></param>
 		/// <returns></returns>
-		public async Task ReadAsync(Stream stream)
+		public async Task WriteToAsync(Stream stream)
 	    {
 		    long buffLength = this.Length;
 			int sendSize = this.ChunkSize - this.FirstIndex;
@@ -111,7 +105,7 @@ namespace ETModel
 		    }
 			
 		    await stream.WriteAsync(this.First, this.FirstIndex, sendSize);
-
+		    
 		    this.FirstIndex += sendSize;
 		    if (this.FirstIndex == this.ChunkSize)
 		    {
@@ -121,14 +115,14 @@ namespace ETModel
 		}
 
 		/// <summary>
-		/// 从stream流到CircularBuffer中
+		/// 从stream流到CircularBuffer中
 		/// </summary>
 		/// <param name="stream"></param>
 		/// <returns></returns>
-		public async Task<int> WriteAsync(Stream stream)
+		public async Task<int> ReadFromAsync(Stream stream)
 	    {
 		    int size = this.ChunkSize - this.LastIndex;
-			
+		    
 		    int n = await stream.ReadAsync(this.Last, this.LastIndex, size);
 
 		    if (n == 0)
@@ -182,36 +176,9 @@ namespace ETModel
 	        return count;
         }
 
-        public void Write(byte[] buffer)
-        {
-            int alreadyCopyCount = 0;
-            while (alreadyCopyCount < buffer.Length)
-            {
-                if (this.LastIndex == ChunkSize)
-                {
-                    this.AddLast();
-                    this.LastIndex = 0;
-                }
-
-                int n = buffer.Length - alreadyCopyCount;
-                if (ChunkSize - this.LastIndex > n)
-                {
-                    Array.Copy(buffer, alreadyCopyCount, this.lastBuffer, this.LastIndex, n);
-                    this.LastIndex += buffer.Length - alreadyCopyCount;
-                    alreadyCopyCount += n;
-                }
-                else
-                {
-                    Array.Copy(buffer, alreadyCopyCount, this.lastBuffer, this.LastIndex, ChunkSize - this.LastIndex);
-                    alreadyCopyCount += ChunkSize - this.LastIndex;
-                    this.LastIndex = ChunkSize;
-                }
-            }
-        }
-
         public override void Write(byte[] buffer, int offset, int count)
         {
-            int alreadyCopyCount = 0;
+	        int alreadyCopyCount = 0;
             while (alreadyCopyCount < count)
             {
                 if (this.LastIndex == ChunkSize)

+ 1 - 1
Unity/Assets/Scripts/Module/Message/Network/KCP/KChannel.cs

@@ -27,7 +27,7 @@ namespace ETModel
 
 		private Kcp kcp;
 
-		private readonly CircularBuffer recvBuffer = new CircularBuffer(8192);
+		private readonly CircularBuffer recvBuffer = new CircularBuffer();
 		private readonly Queue<WaitSendBuffer> sendBuffer = new Queue<WaitSendBuffer>();
 
 		private readonly PacketParser parser;

+ 7 - 5
Unity/Assets/Scripts/Module/Message/Network/TCP/TChannel.cs

@@ -158,7 +158,7 @@ namespace ETModel
 						return;
 					}
 
-					await this.sendBuffer.ReadAsync(stream);
+					await this.sendBuffer.WriteToAsync(stream);
 				}
 			}
 			catch (IOException)
@@ -193,14 +193,14 @@ namespace ETModel
 						return;
 					}
 
-					int n = await this.recvBuffer.WriteAsync(stream);
+					int n = await this.recvBuffer.ReadFromAsync(stream);
 
 					if (n == 0)
 					{
 						this.OnError(SocketError.NetworkReset);
 						return;
 					}
-
+					
 					if (this.recvTcs != null)
 					{
 						bool isOK = this.parser.Parse();
@@ -215,12 +215,14 @@ namespace ETModel
 					}
 				}
 			}
-			catch (IOException)
+			catch (IOException e)
 			{
+				Log.Error(e);
 				this.OnError(SocketError.SocketError);
 			}
-			catch (ObjectDisposedException)
+			catch (ObjectDisposedException e)
 			{
+				Log.Error(e);
 				this.OnError(SocketError.SocketError);
 			}
 			catch (Exception e)