void APartyBeaconHost::ProcessReservationUpdateRequest(APartyBeaconClient* Client, const FString& SessionId, const FPartyReservation& ReservationUpdateRequest)
{
	UE_LOG(LogBeacon, Verbose, TEXT("ProcessReservationUpdateRequest %s SessionId %s PartyLeader: %s from (%s)"),
		Client ? *Client->GetName() : TEXT("NULL"),
		*SessionId,
		ReservationUpdateRequest.PartyLeader.IsValid() ? *ReservationUpdateRequest.PartyLeader->ToString() : TEXT("INVALID"),
		Client ? *Client->GetNetConnection()->LowLevelDescribe() : TEXT("NULL"));

	if (Client)
	{
		EPartyReservationResult::Type Result = EPartyReservationResult::BadSessionId;
		if (DoesSessionMatch(SessionId))
		{
			Result = UpdatePartyReservation(ReservationUpdateRequest);
		}

		Client->ClientReservationResponse(Result);
	}
}
示例#2
0
void AQosBeaconHost::ProcessQosRequest(AQosBeaconClient* Client, const FString& SessionId)
{
	UE_LOG(LogBeacon, Verbose, TEXT("ProcessQosRequest %s SessionId %s from (%s)"),
		Client ? *Client->GetName() : TEXT("NULL"),
		*SessionId,
		Client ? *Client->GetNetConnection()->LowLevelDescribe() : TEXT("NULL"));

	NumQosRequests++;

	if (Client)
	{
		if (DoesSessionMatch(SessionId))
		{
			Client->ClientQosResponse(EQosResponseType::Success);
		}
		else
		{
			Client->ClientQosResponse(EQosResponseType::Failure);
		}
	}
}