EvalueTonSavoir/test/stressTest/class/student.js

48 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-11-27 18:36:59 -05:00
// student.js
import { RoomParticipant } from './roomParticipant.js';
2024-11-15 17:46:01 -05:00
2024-11-27 18:36:59 -05:00
export class Student extends RoomParticipant {
2024-11-28 15:09:22 -05:00
nbrMessageReceived = 0;
2024-11-15 17:46:01 -05:00
constructor(username, roomName) {
2024-11-27 18:36:59 -05:00
super(username, roomName);
2024-11-15 17:46:01 -05:00
}
connectToRoom(baseUrl) {
2024-11-28 15:09:22 -05:00
return super.connectToRoom(baseUrl);
}
onConnected() {
this.joinRoom();
this.listenForTeacherMessage();
2024-11-15 17:46:01 -05:00
}
2024-11-27 18:36:59 -05:00
joinRoom() {
2024-11-15 17:46:01 -05:00
if (this.socket) {
2024-11-27 18:36:59 -05:00
this.socket.emit('join-room', {
enteredRoomName: this.roomName,
username: this.username
});
2024-11-15 17:46:01 -05:00
}
}
2024-11-26 17:04:22 -05:00
2024-11-27 18:36:59 -05:00
listenForTeacherMessage() {
if (this.socket) {
this.socket.on('message-sent-teacher', ({ message }) => {
2024-11-28 15:09:22 -05:00
this.nbrMessageReceived++;
2024-11-27 18:36:59 -05:00
this.respondToTeacher(message);
});
2024-11-26 17:04:22 -05:00
}
}
2024-11-27 18:36:59 -05:00
respondToTeacher(message) {
const reply = `${this.username} replying to: "${message}"`;
2024-11-26 17:04:22 -05:00
if (this.socket) {
2024-11-27 18:36:59 -05:00
this.socket.emit('message-from-student', {
roomName: this.roomName,
message: reply
2024-11-26 17:04:22 -05:00
});
}
}
2024-11-27 18:36:59 -05:00
}