소스 검색

优化消息池的使用
1.handler的消息要回到对象池需要自己调用dispose,参考FrameMessageHandler C2G_PingHandler
2.Call的Response消息要回到对象池需要自己加个using,参考PingComponent
3.发送的消息要自己手动Create(true)才会从对象池中分配,参考PingComponent

tanghai 2 년 전
부모
커밋
e56cb459c4
40개의 변경된 파일330개의 추가작업 그리고 20개의 파일을 삭제
  1. 7 0
      Unity/Assets/Bundles/Config/AIConfigCategory.bytes.meta
  2. 7 0
      Unity/Assets/Bundles/Config/UnitConfigCategory.bytes.meta
  3. 3 1
      Unity/Assets/Scripts/Codes/Hotfix/Client/Demo/NetClient/Ping/PingComponentSystem.cs
  4. 4 0
      Unity/Assets/Scripts/Codes/Hotfix/Server/Demo/Gate/C2G_PingHandler.cs
  5. 2 1
      Unity/Assets/Scripts/Codes/Hotfix/Server/LockStep/Map/FrameMessageHandler.cs
  6. 2 1
      Unity/Assets/Scripts/Codes/Hotfix/Server/Module/ActorLocation/MessageLocationHandler.cs
  7. 2 3
      Unity/Assets/Scripts/Codes/Hotfix/Server/Module/Message/ProcessOuterSenderSystem.cs
  8. 1 1
      Unity/Assets/Scripts/Codes/Hotfix/Share/Module/Actor/MailBoxType_OrderedMessageHandler.cs
  9. 1 1
      Unity/Assets/Scripts/Codes/Hotfix/Share/Module/Actor/MailBoxType_UnOrderedMessageHandler.cs
  10. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Client/Config/AIConfig.cs.meta
  11. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Client/Config/UnitConfig.cs.meta
  12. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Client/Message/ClientMessage_C_1000.cs.meta
  13. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Client/Message/LockStepOuter_C_11001.cs.meta
  14. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Client/Message/OuterMessage_C_10001.cs.meta
  15. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/AIConfig.cs.meta
  16. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/StartMachineConfig.cs.meta
  17. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/StartProcessConfig.cs.meta
  18. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/StartSceneConfig.cs.meta
  19. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/StartZoneConfig.cs.meta
  20. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/UnitConfig.cs.meta
  21. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/ClientMessage_C_1000.cs.meta
  22. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/InnerMessage_S_20001.cs.meta
  23. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/LockStepInner_S_21001.cs.meta
  24. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/LockStepOuter_C_11001.cs.meta
  25. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/OuterMessage_C_10001.cs.meta
  26. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/AIConfig.cs.meta
  27. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/StartMachineConfig.cs.meta
  28. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/StartProcessConfig.cs.meta
  29. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/StartSceneConfig.cs.meta
  30. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/StartZoneConfig.cs.meta
  31. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/UnitConfig.cs.meta
  32. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/ClientMessage_C_1000.cs.meta
  33. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/InnerMessage_S_20001.cs.meta
  34. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/LockStepInner_S_21001.cs.meta
  35. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/LockStepOuter_C_11001.cs.meta
  36. 11 0
      Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/OuterMessage_C_10001.cs.meta
  37. 1 1
      Unity/Assets/Scripts/Codes/Model/Share/Module/Message/MessageSessionHandler.cs
  38. 0 4
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ProcessInnerSenderSystem.cs
  39. 2 2
      Unity/Assets/Scripts/Core/Network/MessageSerializeHelper.cs
  40. 1 5
      Unity/Assets/Scripts/Editor/Plugins/HybridCLR/HybridCLREditor.cs

+ 7 - 0
Unity/Assets/Bundles/Config/AIConfigCategory.bytes.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 277d58db3067742a7b32f9994984b3bc
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 7 - 0
Unity/Assets/Bundles/Config/UnitConfigCategory.bytes.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3f452063ceb5f4150bbbfe795c0aca90
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 1
Unity/Assets/Scripts/Codes/Hotfix/Client/Demo/NetClient/Ping/PingComponentSystem.cs

@@ -33,8 +33,10 @@ namespace ET.Client
                 long time1 = TimeInfo.Instance.ClientNow();
                 try
                 {
+                    // C2G_Ping不需要调用dispose,Call中会判断,如果用了对象池会自动回收
                     C2G_Ping c2GPing = C2G_Ping.Create(true);
-                    G2C_Ping response = await session.Call(c2GPing) as G2C_Ping;
+                    // 这里response要用using才能回收到池,默认不回收
+                    using G2C_Ping response = await session.Call(c2GPing) as G2C_Ping;
 
                     if (self.InstanceId != instanceId)
                     {

+ 4 - 0
Unity/Assets/Scripts/Codes/Hotfix/Server/Demo/Gate/C2G_PingHandler.cs

@@ -8,8 +8,12 @@ namespace ET.Server
 	{
 		protected override async ETTask Run(Session session, C2G_Ping request, G2C_Ping response)
 		{
+			using C2G_Ping _ = request; // 这里用完调用Dispose可以回收到池,不调用的话GC会回收
+			
 			response.Time = TimeInfo.Instance.ServerNow();
 			await ETTask.CompletedTask;
+			
+			//response会在函数返回发送完消息回收到池
 		}
 	}
 }

+ 2 - 1
Unity/Assets/Scripts/Codes/Hotfix/Server/LockStep/Map/FrameMessageHandler.cs

@@ -8,6 +8,8 @@ namespace ET.Server
     {
         protected override async ETTask Run(Scene root, FrameMessage message)
         {
+            using FrameMessage _ = message;  // 让消息回到池中
+            
             Room room = root.GetComponent<Room>();
             FrameBuffer frameBuffer = room.FrameBuffer;
             if (message.Frame % (1000 / LSConstValue.UpdateInterval) == 0)
@@ -38,7 +40,6 @@ namespace ET.Server
             }
             oneFrameInputs.Inputs[message.PlayerId] = message.Input;
 
-
             await ETTask.CompletedTask;
         }
     }

+ 2 - 1
Unity/Assets/Scripts/Codes/Hotfix/Server/Module/ActorLocation/MessageLocationHandler.cs

@@ -23,7 +23,8 @@ namespace ET.Server
                 return;
             }
             
-            MessageResponse response = new() {RpcId = message.RpcId};
+            MessageResponse response = ObjectPool.Instance.Fetch<MessageResponse>();
+            response.RpcId = message.RpcId;
             fiber.Root.GetComponent<ProcessInnerSender>().Reply(fromAddress, response);
 
             await this.Run(e, message);

+ 2 - 3
Unity/Assets/Scripts/Codes/Hotfix/Server/Module/Message/ProcessOuterSenderSystem.cs

@@ -74,8 +74,10 @@ namespace ET.Server
                         IRequest request = (IRequest)message;
                         // 注意这里都不能抛异常,因为这里只是中转消息
                         IResponse response = await fiber.Root.GetComponent<ProcessInnerSender>().Call(actorId, request, false);
+                        // 注意这里的response会在该协程执行完之后由ProcessInnerSender dispose。
                         actorId.Process = fromProcess;
                         self.Send(actorId, response);
+                        ((MessageObject)response).Dispose();
                     }
                     Call().Coroutine();
                     break;
@@ -158,9 +160,6 @@ namespace ET.Server
             }
 
             self.Tcs.SetResult(response);
-            // 这里不是最终的处理位置,这里的消息会通过消息队列送到最终的Fiber,所以这里不能dispose
-            // ProcessOuterSender都是转发消息,基本上不会最终处理response,都会转发给其它Fiber处理
-            //((MessageObject)response).Dispose();
         }
 
         public static void Send(this ProcessOuterSender self, ActorId actorId, IMessage message)

+ 1 - 1
Unity/Assets/Scripts/Codes/Hotfix/Share/Module/Actor/MailBoxType_OrderedMessageHandler.cs

@@ -12,7 +12,7 @@
         {
             MailBoxComponent mailBoxComponent = args.MailBoxComponent;
             
-            MessageObject messageObject = (MessageObject)args.MessageObject;
+            MessageObject messageObject = args.MessageObject;
 
             Fiber fiber = mailBoxComponent.Fiber();
             if (fiber.IsDisposed)

+ 1 - 1
Unity/Assets/Scripts/Codes/Hotfix/Share/Module/Actor/MailBoxType_UnOrderedMessageHandler.cs

@@ -12,7 +12,7 @@
         {
             MailBoxComponent mailBoxComponent = args.MailBoxComponent;
             
-            MessageObject messageObject = (MessageObject)args.MessageObject;
+            MessageObject messageObject = args.MessageObject;
             
             await MessageDispatcher.Instance.Handle(mailBoxComponent.Parent, args.FromAddress, messageObject);
         }

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Client/Config/AIConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1fb534f5f40d5354f8699b28b9bb6727
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Client/Config/UnitConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3faeca7fdc230f44d84aca572973ad02
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Client/Message/ClientMessage_C_1000.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bb9b11116f2e4ca4e97544099334ab17
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Client/Message/LockStepOuter_C_11001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0843635eaf61cd84bbe6fc62b598dd67
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Client/Message/OuterMessage_C_10001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 48e744f775b87f642a71dd150007829b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/AIConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9f65ab970024a1d45b19b597bc1e1bf8
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/StartMachineConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 575c3073fa2befe4cb70d5ce687e14f2
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/StartProcessConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f1deede55958a894685b129d50fbfc96
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/StartSceneConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a9256a320934563428efdcbdb7b1a002
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/StartZoneConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2438c484265f4084491700ace36c2516
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Config/UnitConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 89b12712127a39847ad1083202381171
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/ClientMessage_C_1000.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 71da4f68c22d0474fbf1f0ec805f499e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/InnerMessage_S_20001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0c47eb7f917f3a54892a51a3946fe20a
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/LockStepInner_S_21001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c4bdf56c27cef624fbf6bbb63c830d46
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/LockStepOuter_C_11001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c5c68ea95d0a2d547b69225474967aa7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/OuterMessage_C_10001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2b105fbc46dcfa546b636cad9e5bd275
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/AIConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4a5224b4142d32f439538c33dd622699
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/StartMachineConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 23703a1d455c90c4aba5a2635ad11151
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/StartProcessConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 00274215a8a4cb541b87ed169d2ff888
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/StartSceneConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 245daa6d087fb1c4b9e57da223469752
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/StartZoneConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 265001bf94a247f429525657f212a8e7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Config/UnitConfig.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f1469cc67d660134ca9ffde486f0ee6a
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/ClientMessage_C_1000.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ecb528ca325b5104c938b2a1c9ca32d2
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/InnerMessage_S_20001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 28c97c99ed2154e4bbca633743ac544d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/LockStepInner_S_21001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 47dbaf8e257a17441a577a3187c0f605
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/LockStepOuter_C_11001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3b6fde313b010d5408128f6c6f52a211
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/OuterMessage_C_10001.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6e8a7a3c9e042494c8e4444556ba7117
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Unity/Assets/Scripts/Codes/Model/Share/Module/Message/MessageSessionHandler.cs

@@ -63,7 +63,7 @@ namespace ET
                 int rpcId = request.RpcId;
                 long instanceId = session.InstanceId;
 
-                Response response = ObjectPool.Instance.Fetch<Response>();
+                using Response response = ObjectPool.Instance.Fetch<Response>();
                 try
                 {
                     await this.Run(session, request, response);

+ 0 - 4
Unity/Assets/Scripts/Core/Fiber/Module/Actor/ProcessInnerSenderSystem.cs

@@ -85,10 +85,6 @@ namespace ET
             }
 
             self.Tcs.SetResult(response);
-            // 这里可以dispose,两种情况,
-            // 1是这里是最终的Fiber
-            // 2是ProcessOuterSender转发request给Fiber,等待response然后转发给其它进程。ProcessOuterSender收到response后会立即send进行序列化,这里dispose问题不大
-            ((MessageObject)response).Dispose();
         }
         
         public static void Reply(this ProcessInnerSender self, Address fromAddress, IResponse message)

+ 2 - 2
Unity/Assets/Scripts/Core/Network/MessageSerializeHelper.cs

@@ -17,14 +17,14 @@ namespace ET
 		
         public static MessageObject Deserialize(Type type, byte[] bytes, int index, int count)
         {
-            object o = ObjectPool.Instance.Fetch(type, false);
+            object o = ObjectPool.Instance.Fetch(type);
             MemoryPackHelper.Deserialize(type, bytes, index, count, ref o);
             return o as MessageObject;
         }
 
         public static MessageObject Deserialize(Type type, MemoryBuffer stream)
         {
-            object o = ObjectPool.Instance.Fetch(type, false);
+            object o = ObjectPool.Instance.Fetch(type);
             MemoryPackHelper.Deserialize(type, stream, ref o);
             return o as MessageObject;
         }

+ 1 - 5
Unity/Assets/Scripts/Editor/Plugins/HybridCLR/HybridCLREditor.cs

@@ -19,17 +19,13 @@ namespace ET
                 Directory.Delete(toDir, true);
             }
             Directory.CreateDirectory(toDir);
-            AssetDatabase.Refresh();
             
             foreach (string aotDll in HybridCLRSettings.Instance.patchAOTAssemblies)
             {
                 File.Copy(Path.Combine(fromDir, aotDll), Path.Combine(toDir, $"{aotDll}.bytes"), true);
             }
+            Log.Debug($"CopyAotDll Finish!");
             
-            // 设置ab包
-            AssetImporter assetImporter = AssetImporter.GetAtPath(toDir);
-            assetImporter.assetBundleName = "AotDlls.unity3d";
-            AssetDatabase.SaveAssets();
             AssetDatabase.Refresh();
         }
     }