CNA-GAP-053: Voice chat, party invites, NetworkMachine::RemoveFromSession, arbitration/TrueSkill events and QualityOfService bandwidth are not implemented

CNA snapshot 009d40f5  ·  Known Issues › Functional gaps  ·  source links pinned to 009d40f5

✓

Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.

EnableSendVoice and SendPartyInvites are no-ops, RemoveFromSession throws NotImplementedException, the leaderboard and TrueSkill write events are never raised, and QualityOfService's bandwidth fields stay 0.

Identifier
CNA-GAP-053
Category
Functional gap
Subsystem
Networking & gamer services
Status
Open
Verified against
CNA 009d40f5 (009d40f5dd085c4e674d3479675fac84b12b3e0a)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
LocalNetworkGamer::EnableSendVoice, LocalNetworkGamer::SendPartyInvites, NetworkMachine::RemoveFromSession, NetworkSession leaderboard/TrueSkill events, QualityOfService

Expected behaviour

XNA provides voice between gamers, party invites, host-side removal of a machine, arbitrated-leaderboard and TrueSkill write events, and measured bandwidth.

Actual behaviour at TARGET

LocalNetworkGamer.cpp: EnableSendVoice and SendPartyInvites have empty bodies. NetworkMachine.cpp: RemoveFromSession throws NotImplementedException. NetworkSession.hpp declares WriteArbitratedLeaderboard, WriteUnarbitratedLeaderboard and WriteTrueSkill “for API parity; never raised”. QualityOfService.cpp constructs results from round-trip time only; the BytesPerSecond* fields are never assigned.

Source locations

Evidence

Checked by reading at 009d40f5; not executed.

Independent re-verification: Checked by reading at 009d40f5; not executed. The stubs are pinned by tests: LocalNetworkGamerTest.EnableSendVoiceAndSendPartyInvitesAreNoOps, NetworkMachineTest.RemoveFromSessionThrows, the zero bytes-per-second assertions in AvailableNetworkSessionTests.cpp and NetworkSessionTest.WriteLeaderboardAndTrueSkillEventsAreNeverRaised, so an implementation has to change those tests. No test exercises a working version of any of the five features.

Focused reproduction

No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.

Current tests

None for the missing features.

Regression test

Per feature, when implemented.

Blast radius

Games that use voice, kick players or read bandwidth; RemoveFromSession throws.

Workaround

Kick players with a game-level message; avoid RemoveFromSession.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.