@@ -52,7 +52,7 @@ final class WS
5252 Op::VOICE_READY => 'handleReady ' ,
5353 Op::VOICE_SESSION_DESCRIPTION => 'handleSessionDescription ' ,
5454 Op::VOICE_SPEAKING => 'handleSpeaking ' ,
55- Op::VOICE_HEARTBEAT_ACK => 'heartbeatAck ' ,
55+ Op::VOICE_HEARTBEAT_ACK => 'handleHeartbeatAck ' ,
5656 Op::VOICE_HELLO => 'handleHello ' ,
5757 Op::VOICE_RESUMED => 'handleResumed ' ,
5858 Op::VOICE_CLIENT_CONNECT => 'handleClientConnect ' ,
@@ -207,13 +207,6 @@ public function handleConnection(WebSocket $ws): void
207207 }
208208
209209 switch ($ data ->op ) {
210- case Op::VOICE_HEARTBEAT_ACK : // keepalive response
211- $ diff = (microtime (true ) - $ data ->d ->t ) * 1000 ;
212-
213- $ this ->bot ->logger ->debug ('received heartbeat ack ' , ['response_time ' => $ diff ]);
214- $ this ->vc ->emit ('ws-ping ' , [$ diff ]);
215- $ this ->vc ->emit ('ws-heartbeat-ack ' , [$ data ->d ->t ]);
216- break ;
217210 case Op::VOICE_HELLO :
218211 $ this ->hbInterval = $ this ->vc ->heartbeatInterval = $ data ->d ->heartbeat_interval ;
219212 $ this ->sendHeartbeat ();
@@ -374,6 +367,19 @@ protected function handleSpeaking(Payload $data): void
374367 $ this ->vc ->speakingStatus [$ data ->d ->user_id ] = $ this ->bot ->getFactory ()->part (Speaking::class, $ data ->d );
375368 }
376369
370+ /**
371+ * Handles the heartbeat acknowledgement from the voice WebSocket connection.
372+ *
373+ * @param Payload $data
374+ */
375+ public function handleHeartbeatAck (Payload $ data ): void
376+ {
377+ $ diff = (microtime (true ) - $ data ->d ->t ) * 1000 ;
378+ $ this ->bot ->logger ->debug ('received heartbeat ack ' , ['response_time ' => $ diff ]);
379+ $ this ->vc ->emit ('ws-ping ' , [$ diff ]);
380+ $ this ->vc ->emit ('ws-heartbeat-ack ' , [$ data ->d ->t ]);
381+ }
382+
377383 protected function handleDavePrepareTransition ($ data ): void
378384 {
379385 $ this ->bot ->logger ->debug ('DAVE Prepare Transition ' , ['data ' => $ data ]);
0 commit comments