HandlesDaveOpcodes
The thin VOICE_DAVE_* opcode proxies of {@see \Discord\Voice\Gateway\WS}.
Every method here just forwards to GatewayCoordinator, where the real MLS/transition logic lives. They exist so the WS WS::VOICE_OP_HANDLERS dispatch table and the reflection-based DAVE test surface stay stable.
Tags
Table of Contents
Methods
- handleDaveExecuteTransition() : void
- Routes the VOICE_DAVE_EXECUTE_TRANSITION opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveExecuteTransition()}.
- handleDaveMlsAnnounceCommitTransition() : void
- Routes the VOICE_DAVE_MLS_ANNOUNCE_COMMIT_TRANSITION opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsAnnounceCommitTransition()}.
- handleDaveMlsCommitWelcome() : void
- Routes the VOICE_DAVE_MLS_COMMIT_WELCOME opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsCommitWelcome()}.
- handleDaveMlsExternalSender() : void
- Routes the VOICE_DAVE_MLS_EXTERNAL_SENDER_PACKAGE opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsExternalSender()}.
- handleDaveMlsInvalidCommitWelcome() : void
- Routes the VOICE_DAVE_MLS_INVALID_COMMIT_WELCOME opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsInvalidCommitWelcome()}.
- handleDaveMlsKeyPackage() : void
- Handle an inbound opcode 26 (VOICE_DAVE_MLS_KEY_PACKAGE) frame from the gateway.
- handleDaveMlsProposals() : void
- Routes the VOICE_DAVE_MLS_PROPOSALS opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsProposals()}.
- handleDaveMlsWelcome() : void
- Routes the VOICE_DAVE_MLS_WELCOME opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsWelcome()}.
- handleDavePrepareEpoch() : void
- Routes the VOICE_DAVE_PREPARE_EPOCH opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDavePrepareEpoch()}.
- handleDavePrepareTransition() : void
- Routes the VOICE_DAVE_PREPARE_TRANSITION opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDavePrepareTransition()}.
- handleDaveTransitionReady() : void
- Routes the VOICE_DAVE_TRANSITION_READY opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveTransitionReady()}.
Methods
handleDaveExecuteTransition()
Routes the VOICE_DAVE_EXECUTE_TRANSITION opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveExecuteTransition()}.
protected
handleDaveExecuteTransition(Payload $data) : void
Parameters
- $data : Payload
handleDaveMlsAnnounceCommitTransition()
Routes the VOICE_DAVE_MLS_ANNOUNCE_COMMIT_TRANSITION opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsAnnounceCommitTransition()}.
protected
handleDaveMlsAnnounceCommitTransition(Payload $data) : void
Parameters
- $data : Payload
handleDaveMlsCommitWelcome()
Routes the VOICE_DAVE_MLS_COMMIT_WELCOME opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsCommitWelcome()}.
protected
handleDaveMlsCommitWelcome(Payload $data) : void
Parameters
- $data : Payload
handleDaveMlsExternalSender()
Routes the VOICE_DAVE_MLS_EXTERNAL_SENDER_PACKAGE opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsExternalSender()}.
protected
handleDaveMlsExternalSender(Payload $data) : void
Parameters
- $data : Payload
handleDaveMlsInvalidCommitWelcome()
Routes the VOICE_DAVE_MLS_INVALID_COMMIT_WELCOME opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsInvalidCommitWelcome()}.
protected
handleDaveMlsInvalidCommitWelcome(Payload $data) : void
Parameters
- $data : Payload
handleDaveMlsKeyPackage()
Handle an inbound opcode 26 (VOICE_DAVE_MLS_KEY_PACKAGE) frame from the gateway.
protected
handleDaveMlsKeyPackage(mixed $data) : void
Opcode 26 is primarily client→server: we send our own key package to the gateway via sendDaveKeyPackage() during the DAVE epoch-1 setup. The gateway may also forward a remote member's key package back to us as an informational notice — that is what this handler receives.
The gateway (server) is responsible for aggregating all key packages and driving the subsequent proposal/commit flow. We passively receive the forwarded package; no action is required on the client side.
Per the Discord DAVE spec: "Key packages are only used one time" — each time we need to join or rejoin a session we generate and send a fresh key package.
Parameters
- $data : mixed
handleDaveMlsProposals()
Routes the VOICE_DAVE_MLS_PROPOSALS opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsProposals()}.
protected
handleDaveMlsProposals(Payload $data) : void
Parameters
- $data : Payload
handleDaveMlsWelcome()
Routes the VOICE_DAVE_MLS_WELCOME opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveMlsWelcome()}.
protected
handleDaveMlsWelcome(Payload $data) : void
Parameters
- $data : Payload
handleDavePrepareEpoch()
Routes the VOICE_DAVE_PREPARE_EPOCH opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDavePrepareEpoch()}.
protected
handleDavePrepareEpoch(Payload $data) : void
Parameters
- $data : Payload
handleDavePrepareTransition()
Routes the VOICE_DAVE_PREPARE_TRANSITION opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDavePrepareTransition()}.
protected
handleDavePrepareTransition(Payload $data) : void
Parameters
- $data : Payload
handleDaveTransitionReady()
Routes the VOICE_DAVE_TRANSITION_READY opcode to the {@see \Discord\Voice\Dave\GatewayCoordinator::handleDaveTransitionReady()}.
protected
handleDaveTransitionReady(Payload $data) : void
Parameters
- $data : Payload