From 949f5accd281a051e5e2eeb3df8767b4794b6a1e Mon Sep 17 00:00:00 2001
From: chai <215380520@qq.com>
Date: Sat, 14 Oct 2023 12:06:40 +0800
Subject: + Message

---
 Tools/Hazel-Networking/Hazel/MessageReader.cs | 19 ++++++++-----------
 Tools/Hazel-Networking/Hazel/MessageWriter.cs | 24 +++++++++++++++---------
 2 files changed, 23 insertions(+), 20 deletions(-)

(limited to 'Tools')

diff --git a/Tools/Hazel-Networking/Hazel/MessageReader.cs b/Tools/Hazel-Networking/Hazel/MessageReader.cs
index b6e35de..ab088df 100644
--- a/Tools/Hazel-Networking/Hazel/MessageReader.cs
+++ b/Tools/Hazel-Networking/Hazel/MessageReader.cs
@@ -88,11 +88,7 @@ namespace Hazel
             return output;
         }
 
-        /// <summary>
-        /// 完全复制 一份
-        /// </summary>
-        /// <param name="source"></param>
-        /// <returns></returns>
+        // 没用
         public static MessageReader Get(MessageReader source)
         {
             var output = MessageReader.GetSized(source.Buffer.Length);
@@ -181,12 +177,13 @@ namespace Hazel
             return output;
         }
 
-        public MessageWriter StartWriter()
-        {
-            var output = new MessageWriter(this.Buffer);
-            output.Position = this.readHead;
-            return output;
-        }
+        // 没用,注释掉了
+        //public MessageWriter StartWriter()
+        //{
+        //    var output = new MessageWriter(this.Buffer);
+        //    output.Position = this.readHead;
+        //    return output;
+        //}
 
         public MessageReader Duplicate()
         {
diff --git a/Tools/Hazel-Networking/Hazel/MessageWriter.cs b/Tools/Hazel-Networking/Hazel/MessageWriter.cs
index 68280cd..a156c77 100644
--- a/Tools/Hazel-Networking/Hazel/MessageWriter.cs
+++ b/Tools/Hazel-Networking/Hazel/MessageWriter.cs
@@ -24,18 +24,19 @@ namespace Hazel
         public static readonly ObjectPool<MessageWriter> WriterPool = new ObjectPool<MessageWriter>(() => new MessageWriter(BufferSize));
 
         public byte[] Buffer; // 缓冲区,保存了整个包体,包括头部和内容
-        public int Length;  // 有效数据在buffer中的长度,可能包含多个嵌套子协议。Length>=Position
+        public int Length;  // 有效数据在buffer中的长度,包含header,可能包含多个嵌套子协议。Length>=Position
         public int Position; // 写入游标
 
         public SendOption SendOption { get; private set; }
 
         private Stack<int> messageStarts = new Stack<int>();
         
-        public MessageWriter(byte[] buffer)
-        {
-            this.Buffer = buffer;
-            this.Length = this.Buffer.Length;
-        }
+        // 没用,注释掉了
+        //public MessageWriter(byte[] buffer)
+        //{
+        //    this.Buffer = buffer;
+        //    this.Length = this.Buffer.Length;
+        //}
 
         ///
         public MessageWriter(int bufferSize)
@@ -98,10 +99,10 @@ namespace Hazel
         {
             if (this.SendOption == SendOption.None)
             {
-                return this.Length > 1 + expected;
+                return this.Length > 1 + expected; // header=1 byte
             }
 
-            return this.Length > 3 + expected;
+            return this.Length > 3 + expected; // header=3 bytes
         }
 
         ///
@@ -109,9 +110,10 @@ namespace Hazel
         {
             var messageStart = this.Position;
             messageStarts.Push(messageStart);
-            this.Buffer[messageStart] = 0;     // 
+            this.Buffer[messageStart] = 0;     // length
             this.Buffer[messageStart + 1] = 0;
             this.Position += 2;
+            //this.Length = this.Position;
             this.Write(typeFlag);
         }
 
@@ -131,6 +133,10 @@ namespace Hazel
             this.Length = this.Position;
         }
 
+        /// <summary>
+        /// 重置为sendOption类型的空包
+        /// </summary>
+        /// <param name="sendOption"></param>
         public void Clear(SendOption sendOption)
         {
             Array.Clear(this.Buffer, 0, this.Buffer.Length);//完全清空整个缓冲区
-- 
cgit v1.1-26-g67d0