use socketioxide::{layer::SocketIoLayer, SocketIo, SocketIoBuilder};
#[derive(Clone)]
pub struct AppChannels {
pub layer: SocketIoLayer,
pub register: SocketIo,
}
impl From<SocketIoBuilder> for AppChannels {
fn from(val: SocketIoBuilder) -> Self {
let (layer, io) = val.build_layer();
Self {
layer,
register: io,
}
}
}
impl AppChannels {
#[must_use]
pub fn builder() -> SocketIoBuilder {
SocketIo::builder()
}
}
impl Default for AppChannels {
fn default() -> Self {
let (layer, io) = SocketIo::new_layer();
Self {
layer,
register: io,
}
}
}