为什么不加一个cancellationToken,等消息返回的时候就停止超时的TimerAction。
cancellationToken是要主动取消Call调用,你为什么要主动取消Call调用
egametang 这个cancllationToken不是取消Call调用的,而是去取消超时任务的。因为当收到这个消息的返回时,超时任务就可以移除了吧。
ETNewBee
超时了rpc就会移除。后面再收到消息已经不处理了
egametang 我好像描述错了。
async ETTask Timeout() { //等待超时,这里不传入cancllationToken await fiber.Root.GetComponent<TimerComponent>().WaitAsync(ProcessInnerSender.TIMEOUT_TIME); ... }
这是不是代表不管消息是否已经收到返回了,这个TimerAction都会存在直到TIMEOUT_TIME结束。
ETNewBee 你是想收到消息后取消 超时计时器
ETNewBee 是的,这又不影响,删掉计时器还不如等到了,性能并没有差别