#![allow(unused_imports)]
use std::{io::{Cursor, Read, Write}, net::TcpListener};
use tokio::io::AsyncReadExt;
#[tokio::main(flavor = "current_thread")]
async fn main() {
println!("Logs from your program will appear here!");
let listener = TcpListener::bind("127.0.0.1:9092").unwrap();
for stream in listener.incoming() {
match stream {
Ok(mut _stream) => {
println!("accepted new connection");
let mut buf = [0_u8; 4];
_stream.read_exact(&mut buf).unwrap();
let mut rdr = Cursor::new(buf);
let len = rdr.read_u32().await.unwrap();
let mut msg = vec![0u8; len.try_into().unwrap()];
_stream.read_exact(&mut msg.as_mut_slice()).unwrap();
let mut rdr = Cursor::new(msg);
rdr.read_u16().await.unwrap();
let version = rdr.read_u16().await.unwrap();
let cid = rdr.read_u32().await.unwrap();
let acceptable_range = 0..4;
if acceptable_range.contains(&version) {
_stream.write_all([0, 0, 0, 4].as_slice()).unwrap();
_stream.write_all(&cid.to_be_bytes()).unwrap();
} else {
let errorcode: i32 = 35;
_stream.write_all([0, 0, 0, 4].as_slice()).unwrap();
_stream.write_all(&cid.to_be_bytes()).unwrap();
_stream.write_all(&errorcode.to_be_bytes()).unwrap();
}
}
Err(e) => {
println!("error: {}", e);
}
}
}
}
this is my code
it says expected error 35 got 0