mod state_handshake;
pub use state_handshake::{WsStateHandshake};
use webparse::ws::CloseData;
#[derive(Debug)]
pub enum WsState {
Open,
Closing(CloseData),
Closed(CloseData),
}
impl WsState {
pub fn set_closing(&mut self, data: CloseData) {
match self {
WsState::Open => {
*self = WsState::Closing(data);
},
_ => {}
}
}
pub fn set_closed(&mut self, data: Option<CloseData>) {
match self {
WsState::Open => {
*self = WsState::Closed(data.unwrap_or(CloseData::normal()));
},
WsState::Closing(data) => {
*self = WsState::Closed(data.clone());
},
_ => {}
}
}
}