CNA-GAP-053: Voice chat, party invites, NetworkMachine::RemoveFromSession, arbitration/TrueSkill events and QualityOfService bandwidth are not implemented
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
modules/net/src/Xna/LocalNetworkGamer.cpp— EnableSendVoice and SendPartyInvites: emptymodules/net/src/Xna/NetworkMachine.cpp— RemoveFromSession throws NotImplementedExceptionmodules/net/include/Microsoft/Xna/Framework/Net/NetworkSession.hpp— events declared for parity, never raisedmodules/net/src/Xna/QualityOfService.cpp— bandwidth fields never set
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.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- Deep dives
- Network sessions: what is absent
- Known issues
- Functional gap index