Skip to content

Commit e67d873

Browse files
committed
fix(RPC): 修复消息对象池管理问题
移除DefaultMessageEncoderHandler中错误的finally块返回消息对象,改为在BaseRpcComponentHandler正确位置返回。避免消息对象被重复回收导致潜在问题。 #48
1 parent 0967f9b commit e67d873

2 files changed

Lines changed: 1 addition & 4 deletions

File tree

GameFrameX.Core/BaseHandler/RPC/BaseRpcComponentHandler.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ async Task Work()
159159
}
160160

161161
await NetWorkChannel.WriteAsync(response);
162+
MessageObjectPoolHelper.Return(response);
162163
}
163164

164165
CacheComponent.Tell(Work, timeout, cancellationToken);

GameFrameX.NetWork.Message/DefaultMessageEncoderHandler.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,6 @@ public override byte[] Handler(IMessage message)
8888
LogHelper.Error(e);
8989
return null;
9090
}
91-
finally
92-
{
93-
MessageObjectPoolHelper.Return(message);
94-
}
9591
}
9692

9793
LogHelper.Error("消息对象为空,编码异常");

0 commit comments

Comments
 (0)