Acknowledgements (ACKs)
Cuando un cliente envía un evento con un callback, el servidor puede responder usando un acknowledgement (reconocimiento).
Puedes encontrar la referencia de los métodos has_ack() y ack(...), en la referencia de SocketContext.
Detectar si el evento espera acknowledgement
rust
if ctx.has_ack() {
// ...
}Responder con ack(...)
rust
use serde::Serialize;
use sword::prelude::*;
use sword::socketio::*;
#[derive(Serialize)]
struct AckPayload {
ok: bool,
}
#[controller(kind = Controller::SocketIo, namespace = "/chat")]
pub struct ChatController;
impl ChatController {
#[on("ping")]
async fn ping(&self, socket: SocketContext) {
if socket.has_ack() {
let _ = socket.ack(&AckPayload { ok: true });
}
}
}Cuándo usar este mecanismo
Los ACKs son útiles cuando el cliente necesita una confirmación explícita de que el servidor procesó el evento correctamente o quiere recibir un resultado inmediato de la operación.

