Removed CachedRequest functionality + Fixed(Tested) PursuitSequence bug
This commit is contained in:
@ -36,8 +36,6 @@ void UDTFluxNetworkSubsystem::Initialize(FSubsystemCollectionBase& Collection)
|
||||
DefaultConfig.TimeoutSeconds = 5.0f;
|
||||
DefaultConfig.MaxRetries = 3;
|
||||
DefaultConfig.RetryBackoffMultiplier = 1.5f;
|
||||
DefaultConfig.bEnableCache = true;
|
||||
DefaultConfig.CacheValiditySeconds = 60.0f;
|
||||
|
||||
RequestManager->Initialize(DefaultConfig);
|
||||
|
||||
@ -143,8 +141,6 @@ FGuid UDTFluxNetworkSubsystem::SendTrackedRequest(
|
||||
FDTFluxRequestConfig CustomConfig;
|
||||
CustomConfig.TimeoutSeconds = TimeoutSeconds;
|
||||
CustomConfig.MaxRetries = MaxRetries;
|
||||
CustomConfig.bEnableCache = bEnableCache;
|
||||
CustomConfig.CacheValiditySeconds = 60.0f;
|
||||
CustomConfig.RetryBackoffMultiplier = 1.5f;
|
||||
|
||||
FGuid RequestId = RequestManager->CreateTrackedRequest(RequestType, ContestId, StageId, SplitId, CustomConfig);
|
||||
@ -154,12 +150,8 @@ FGuid UDTFluxNetworkSubsystem::SendTrackedRequest(
|
||||
// Récupérer la requête pour l'envoyer
|
||||
if (const FDTFluxTrackedRequest* Request = RequestManager->GetRequestPtr(RequestId))
|
||||
{
|
||||
// Si la requête est déjà en cache, pas besoin d'envoyer
|
||||
if (Request->State != EDTFluxRequestState::Cached)
|
||||
{
|
||||
RequestManager->MarkRequestAsSent(RequestId);
|
||||
SendQueuedRequest(*Request);
|
||||
}
|
||||
RequestManager->MarkRequestAsSent(RequestId);
|
||||
SendQueuedRequest(*Request);
|
||||
}
|
||||
}
|
||||
|
||||
@ -174,8 +166,8 @@ FGuid UDTFluxNetworkSubsystem::SendTrackedRequestWithCallbacks(
|
||||
FOnDTFluxRequestSuccess& OnSuccess,
|
||||
FOnDTFluxRequestError& OnError,
|
||||
float TimeoutSeconds,
|
||||
int32 MaxRetries,
|
||||
bool bEnableCache)
|
||||
int32 MaxRetries
|
||||
)
|
||||
{
|
||||
if (!RequestManager.IsValid())
|
||||
{
|
||||
@ -186,8 +178,6 @@ FGuid UDTFluxNetworkSubsystem::SendTrackedRequestWithCallbacks(
|
||||
FDTFluxRequestConfig CustomConfig;
|
||||
CustomConfig.TimeoutSeconds = TimeoutSeconds;
|
||||
CustomConfig.MaxRetries = MaxRetries;
|
||||
CustomConfig.bEnableCache = bEnableCache;
|
||||
CustomConfig.CacheValiditySeconds = 60.0f;
|
||||
CustomConfig.RetryBackoffMultiplier = 1.5f;
|
||||
|
||||
FGuid RequestId = RequestManager->CreateTrackedRequestWithCallbacks(
|
||||
@ -197,11 +187,8 @@ FGuid UDTFluxNetworkSubsystem::SendTrackedRequestWithCallbacks(
|
||||
{
|
||||
if (const FDTFluxTrackedRequest* Request = RequestManager->GetRequestPtr(RequestId))
|
||||
{
|
||||
if (Request->State != EDTFluxRequestState::Cached)
|
||||
{
|
||||
RequestManager->MarkRequestAsSent(RequestId);
|
||||
SendQueuedRequest(*Request);
|
||||
}
|
||||
RequestManager->MarkRequestAsSent(RequestId);
|
||||
SendQueuedRequest(*Request);
|
||||
}
|
||||
}
|
||||
|
||||
@ -227,7 +214,6 @@ bool UDTFluxNetworkSubsystem::HasRequestReceivedResponse(const FGuid& RequestId)
|
||||
if (GetTrackedRequest(RequestId, Request))
|
||||
{
|
||||
return Request.State == EDTFluxRequestState::Completed ||
|
||||
Request.State == EDTFluxRequestState::Cached ||
|
||||
!Request.RawResponseData.IsEmpty();
|
||||
}
|
||||
return false;
|
||||
@ -264,22 +250,19 @@ int32 UDTFluxNetworkSubsystem::GetPendingRequestCount() const
|
||||
return 0;
|
||||
}
|
||||
|
||||
void UDTFluxNetworkSubsystem::GetRequestStatistics(int32& OutPending, int32& OutCached, int32& OutCompleted,
|
||||
int32& OutFailed, float& OutHitRate) const
|
||||
void UDTFluxNetworkSubsystem::GetRequestStatistics(int32& OutPending, int32& OutCompleted,
|
||||
int32& OutFailed) const
|
||||
{
|
||||
if (RequestManager.IsValid())
|
||||
{
|
||||
FDTFluxQueuedRequestManager::FRequestStatistics Stats = RequestManager->GetStatistics();
|
||||
OutPending = Stats.Pending;
|
||||
OutCached = Stats.Cached;
|
||||
OutCompleted = Stats.Completed;
|
||||
OutFailed = Stats.Failed;
|
||||
OutHitRate = Stats.HitRate;
|
||||
}
|
||||
else
|
||||
{
|
||||
OutPending = OutCached = OutCompleted = OutFailed = 0;
|
||||
OutHitRate = 0.0f;
|
||||
OutPending = OutCompleted = OutFailed = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -362,7 +345,7 @@ void UDTFluxNetworkSubsystem::RegisterWebSocketEvents()
|
||||
&UDTFluxNetworkSubsystem::OnWebSocketMessageSentEvent_Subsystem);
|
||||
}
|
||||
|
||||
void UDTFluxNetworkSubsystem::UnregisterWebSocketEvents()
|
||||
void UDTFluxNetworkSubsystem::UnregisterWebSocketEvents() const
|
||||
{
|
||||
if (!WsClient.IsValid()) return;
|
||||
|
||||
@ -794,11 +777,10 @@ void UDTFluxNetworkSubsystem::SendQueuedRequest(const FDTFluxTrackedRequest& Que
|
||||
|
||||
bool UDTFluxNetworkSubsystem::ShouldUseAsyncParsing(const FString& JsonData) const
|
||||
{
|
||||
// Critères pour décider du parsing asynchrone :
|
||||
// Critère pour décider du parsing asynchrone :
|
||||
// - Taille des données (> 1KB par défaut)
|
||||
// - Charge actuelle du système
|
||||
// - Type de données (certains types sont plus complexes à parser)
|
||||
// Pour le moment uniquement taille
|
||||
|
||||
const int32 AsyncThreshold = 1024; // 1KB
|
||||
constexpr int32 AsyncThreshold = 1024; // 1KB
|
||||
return JsonData.Len() > AsyncThreshold;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user