|
@@ -210,29 +210,35 @@ namespace EVCB_OCPP.WSServer.Service
|
|
|
return message;
|
|
|
}
|
|
|
|
|
|
- internal async Task<object> WaitResultAsync(string msgId, int maxWaitSec = 65000, CancellationToken token = default)
|
|
|
+ internal async Task<object> WaitResultAsync(string serialNo, int maxWaitSec = 65000, CancellationToken token = default)
|
|
|
{
|
|
|
- //if (!needConfirmPacketList.Select(x=>x.RequestId).Contains(msgId))
|
|
|
+ //if (!needConfirmPacketList.Select(x => x.RequestId).Contains(serialNo))
|
|
|
//{
|
|
|
- // var checkResult = await mainDbService.TryGetResponseFromDb(msgId, token);
|
|
|
+ // logger.LogWarning("msg {msg} not in wait list", serialNo);
|
|
|
+ // var checkResult = await mainDbService.TryGetResponseFromDb(serialNo, token);
|
|
|
// if (checkResult is not null)
|
|
|
// {
|
|
|
+ // logger.LogWarning("{msg} found in db", serialNo);
|
|
|
// return checkResult;
|
|
|
// }
|
|
|
+ // logger.LogWarning("{msg} not found in db", serialNo);
|
|
|
//}
|
|
|
|
|
|
var waiObj = new MessageResultWaitObject();
|
|
|
- asyncWaitingTasks.Add(msgId, waiObj);
|
|
|
+ asyncWaitingTasks.Add(serialNo, waiObj);
|
|
|
var task = waiObj.Lock.WaitAsync(token);
|
|
|
var completedTask = await Task.WhenAny(task, Task.Delay(180_000, token));
|
|
|
if (completedTask != task)
|
|
|
{
|
|
|
- logger.LogWarning("wait {msg} time out", msgId);
|
|
|
- var checkResult = await mainDbService.TryGetResponseFromDb(msgId, token);
|
|
|
+ logger.LogWarning("wait {msg} time out", serialNo);
|
|
|
+ var checkResult = await mainDbService.TryGetResponseFromDb(serialNo, token);
|
|
|
if (checkResult is not null)
|
|
|
{
|
|
|
+ logger.LogWarning("{msg} found in db", serialNo);
|
|
|
return checkResult;
|
|
|
}
|
|
|
+ logger.LogWarning("{msg} not found in db", serialNo);
|
|
|
+ return null;
|
|
|
}
|
|
|
return waiObj.Result.Message;
|
|
|
}
|