mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-01 12:07:31 +01:00
sceNetAdhocMatching: A denied P2P request goes back to a known peer
CancelTarget on an incoming P2P request marked the peer timed out. It only escaped a TIMEOUT if one of its hellos came in before the next timeout check, which it no longer does now that timeouts are checked all the time. On a PSP it's a peer known from its hellos again, with no TIMEOUT (pspautotests net/adhoc/pair/matching3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
08c76b8b25
commit
882eee4c13
1 file changed
+10
@@ -2188,6 +2188,16 @@ int NetAdhocMatching_CancelTargetWithOpt(int matchingId, const char* macAddress,
|
||||
{
|
||||
const bool notifyDeath = context->mode == PSP_ADHOC_MATCHING_MODE_PARENT && peer->state == PSP_ADHOC_MATCHING_PEER_CHILD && countConnectedPeers(context) > 1;
|
||||
|
||||
// A P2P peer whose request is denied goes back to one known from its hellos: no TIMEOUT, and it
|
||||
// can ask again (pspautotests net/adhoc/pair/matching3).
|
||||
if (context->mode == PSP_ADHOC_MATCHING_MODE_P2P && peer->state == PSP_ADHOC_MATCHING_PEER_INCOMING_REQUEST) {
|
||||
sendCancelMessage(context, peer, optLen, opt);
|
||||
peer->state = PSP_ADHOC_MATCHING_PEER_OFFER;
|
||||
peer->lastping = CoreTiming::GetGlobalTimeUsScaled();
|
||||
hleEatCycles(adhocDefaultDelay);
|
||||
return hleLogDebug(Log::sceNet, 0);
|
||||
}
|
||||
|
||||
// Mark Peer as Canceled
|
||||
peer->state = PSP_ADHOC_MATCHING_PEER_CANCEL_IN_PROGRESS;
|
||||
|
||||
|
||||
Reference in new issue
Block a user