Add TrackedRequest implementation in DTFluxCoreSubsystem and various Modifications and bugfixes.
This commit is contained in:
@ -444,7 +444,9 @@ bool UDTFluxNetworkSubsystem::TryMatchResponseToQueuedRequest(const FString& Mes
|
||||
// Utiliser le parsing asynchrone pour les réponses volumineuses
|
||||
bool bUseAsyncParsing = ShouldUseAsyncParsing(MessageString);
|
||||
|
||||
RequestManager->CompleteRequest(FoundRequestId, MessageString, bUseAsyncParsing);
|
||||
if (RequestManager->CompleteRequest(FoundRequestId, MessageString, bUseAsyncParsing))
|
||||
{
|
||||
}
|
||||
|
||||
UE_LOG(logDTFluxNetwork, Log, TEXT("Matched response to tracked request %s (async=%s)"),
|
||||
*FoundRequestId.ToString(), bUseAsyncParsing ? TEXT("true") : TEXT("false"));
|
||||
@ -521,7 +523,12 @@ void UDTFluxNetworkSubsystem::OnRequestCompleted_Internal(const FDTFluxTrackedRe
|
||||
CompletedRequest.RawResponseData
|
||||
);
|
||||
|
||||
UE_LOG(logDTFluxNetwork, Log, TEXT("Tracked request completed: %s"), *CompletedRequest.RequestId.ToString());
|
||||
if (CompletedRequest.ParsedResponse.IsSet())
|
||||
{
|
||||
UE_LOG(logDTFluxNetwork, Log, TEXT("Tracked About to process : %s"), *CompletedRequest.RequestId.ToString());
|
||||
TSharedPtr<FDTFluxServerResponse> Response = CompletedRequest.ParsedResponse.GetValue();
|
||||
ProcessParsedResponse(Response);
|
||||
}
|
||||
}
|
||||
|
||||
void UDTFluxNetworkSubsystem::OnRequestFailed_Internal(const FDTFluxTrackedRequest& FailedRequest)
|
||||
@ -571,7 +578,7 @@ void UDTFluxNetworkSubsystem::ReconnectWs(const FName WsClientId)
|
||||
void UDTFluxNetworkSubsystem::ParseTeamListResponse(FDTFluxServerResponse& Response)
|
||||
{
|
||||
FDTFluxTeamListDefinition TeamListDefinition;
|
||||
Response.ParseTeamListResponse(TeamListDefinition);
|
||||
Response.ParseTeamList(TeamListDefinition);
|
||||
|
||||
if (Response.GetParsingStatus() == EDTFluxResponseStatus::Success)
|
||||
{
|
||||
@ -620,7 +627,7 @@ void UDTFluxNetworkSubsystem::ParseContestRanking(FDTFluxServerResponse& Respons
|
||||
void UDTFluxNetworkSubsystem::ParseStageRankingResponse(FDTFluxServerResponse& Response)
|
||||
{
|
||||
FDTFluxStageRankings StageRankings;
|
||||
Response.ParseStageRankingResponse(StageRankings);
|
||||
Response.ParseStageRanking(StageRankings);
|
||||
|
||||
if (Response.GetParsingStatus() == EDTFluxResponseStatus::Success)
|
||||
{
|
||||
@ -637,7 +644,7 @@ void UDTFluxNetworkSubsystem::ParseStageRankingResponse(FDTFluxServerResponse& R
|
||||
void UDTFluxNetworkSubsystem::ParseSplitRankingResponse(FDTFluxServerResponse& Response)
|
||||
{
|
||||
FDTFluxSplitRankings SplitRankings;
|
||||
Response.ParseSplitRankingResponse(SplitRankings);
|
||||
Response.ParseSplitRanking(SplitRankings);
|
||||
|
||||
if (Response.GetParsingStatus() == EDTFluxResponseStatus::Success)
|
||||
{
|
||||
@ -654,7 +661,7 @@ void UDTFluxNetworkSubsystem::ParseSplitRankingResponse(FDTFluxServerResponse& R
|
||||
void UDTFluxNetworkSubsystem::ParseStatusUpdateResponse(FDTFluxServerResponse& Response)
|
||||
{
|
||||
FDTFluxTeamStatusUpdate StatusUpdate;
|
||||
Response.ParseStatusUpdateResponse(StatusUpdate);
|
||||
Response.ParseStatusUpdate(StatusUpdate);
|
||||
|
||||
if (Response.GetParsingStatus() == EDTFluxResponseStatus::Success)
|
||||
{
|
||||
@ -671,7 +678,7 @@ void UDTFluxNetworkSubsystem::ParseStatusUpdateResponse(FDTFluxServerResponse& R
|
||||
void UDTFluxNetworkSubsystem::ParseSplitSensorResponse(FDTFluxServerResponse& Response)
|
||||
{
|
||||
TArray<FDTFluxSplitSensorInfo> SplitSensorInfos;
|
||||
Response.ParseSplitSensorResponse(SplitSensorInfos);
|
||||
Response.ParseSplitSensor(SplitSensorInfos);
|
||||
|
||||
if (Response.GetParsingStatus() == EDTFluxResponseStatus::Success)
|
||||
{
|
||||
@ -702,7 +709,7 @@ EDTFluxResponseStatus UDTFluxNetworkSubsystem::ProcessPushMessage(FDTFluxServerR
|
||||
case EDTFluxApiDataType::SplitSensor:
|
||||
{
|
||||
TArray<FDTFluxSplitSensorInfo> SplitSensorInfos;
|
||||
if (Response.ParseSplitSensorResponse(SplitSensorInfos))
|
||||
if (Response.ParseSplitSensor(SplitSensorInfos))
|
||||
{
|
||||
for (const auto& SplitSensorInfo : SplitSensorInfos)
|
||||
{
|
||||
@ -715,7 +722,7 @@ EDTFluxResponseStatus UDTFluxNetworkSubsystem::ProcessPushMessage(FDTFluxServerR
|
||||
case EDTFluxApiDataType::StatusUpdate:
|
||||
{
|
||||
FDTFluxTeamStatusUpdate StatusUpdate;
|
||||
if (Response.ParseStatusUpdateResponse(StatusUpdate))
|
||||
if (Response.ParseStatusUpdate(StatusUpdate))
|
||||
{
|
||||
OnTeamStatusUpdateReceived.ExecuteIfBound(StatusUpdate);
|
||||
}
|
||||
@ -725,7 +732,7 @@ EDTFluxResponseStatus UDTFluxNetworkSubsystem::ProcessPushMessage(FDTFluxServerR
|
||||
case EDTFluxApiDataType::TeamUpdate:
|
||||
{
|
||||
FDTFluxTeamListDefinition TeamUpdateList;
|
||||
if (Response.ParseTeamUpdateResponse(TeamUpdateList))
|
||||
if (Response.ParseTeamUpdate(TeamUpdateList))
|
||||
{
|
||||
OnTeamUpdateReceived.ExecuteIfBound(TeamUpdateList);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user