27 lines
532 B
Rust
27 lines
532 B
Rust
use anyhow::Result;
|
|
|
|
use crate::{
|
|
ErrorResponse,
|
|
types::protocol::{
|
|
VersionRequest,
|
|
VersionResponse,
|
|
},
|
|
util::send,
|
|
WsStream,
|
|
};
|
|
|
|
const VERSION: u32 = 1;
|
|
|
|
pub async fn version(conn: &mut WsStream, number: u32, req: VersionRequest) -> Result<bool> {
|
|
if req.version != VERSION {
|
|
send(conn, number, ErrorResponse::new(None, "unsupported version")).await?;
|
|
return Ok(false);
|
|
}
|
|
|
|
send(conn, number, VersionResponse {
|
|
version: VERSION,
|
|
}).await?;
|
|
|
|
Ok(true)
|
|
}
|