refactor: align bridge state resolver metadata
This commit is contained in:
Generated
+1
-1
@@ -532,7 +532,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "chanora_resolver"
|
name = "chanora_resolver"
|
||||||
version = "0.1.0"
|
version = "0.2.0-beta.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"hickory-resolver",
|
"hickory-resolver",
|
||||||
|
|||||||
@@ -1972,27 +1972,77 @@ impl From<chanora_core::SessionEvent> for BridgeEvent {
|
|||||||
route: route.into(),
|
route: route.into(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
chanora_core::SessionEvent::ClientMoved { client_id, new_channel_id } => {
|
chanora_core::SessionEvent::ClientMoved {
|
||||||
BridgeEvent::ClientMoved { client_id, new_channel_id }
|
client_id,
|
||||||
}
|
new_channel_id,
|
||||||
chanora_core::SessionEvent::ClientJoined { client_id, channel_id, name, input_muted, output_muted, is_server_query, talk_power, talk_power_granted } => {
|
} => BridgeEvent::ClientMoved {
|
||||||
BridgeEvent::ClientJoined { client_id, channel_id, name, input_muted, output_muted, is_server_query, talk_power, talk_power_granted }
|
client_id,
|
||||||
}
|
new_channel_id,
|
||||||
|
},
|
||||||
|
chanora_core::SessionEvent::ClientJoined {
|
||||||
|
client_id,
|
||||||
|
channel_id,
|
||||||
|
name,
|
||||||
|
input_muted,
|
||||||
|
output_muted,
|
||||||
|
is_server_query,
|
||||||
|
talk_power,
|
||||||
|
talk_power_granted,
|
||||||
|
} => BridgeEvent::ClientJoined {
|
||||||
|
client_id,
|
||||||
|
channel_id,
|
||||||
|
name,
|
||||||
|
input_muted,
|
||||||
|
output_muted,
|
||||||
|
is_server_query,
|
||||||
|
talk_power,
|
||||||
|
talk_power_granted,
|
||||||
|
},
|
||||||
chanora_core::SessionEvent::ClientLeft { client_id, name } => {
|
chanora_core::SessionEvent::ClientLeft { client_id, name } => {
|
||||||
BridgeEvent::ClientLeft { client_id, name }
|
BridgeEvent::ClientLeft { client_id, name }
|
||||||
}
|
}
|
||||||
chanora_core::SessionEvent::ClientUpdated { client_id, input_muted, output_muted, is_server_query, talk_power, talk_power_granted } => {
|
chanora_core::SessionEvent::ClientUpdated {
|
||||||
BridgeEvent::ClientUpdated { client_id, input_muted, output_muted, is_server_query, talk_power, talk_power_granted }
|
client_id,
|
||||||
}
|
input_muted,
|
||||||
chanora_core::SessionEvent::ChannelAdded { id, parent, name, order, has_password, needed_talk_power } => {
|
output_muted,
|
||||||
BridgeEvent::ChannelAdded { id, parent, name, order, has_password, needed_talk_power }
|
is_server_query,
|
||||||
}
|
talk_power,
|
||||||
chanora_core::SessionEvent::ChannelRemoved { id } => {
|
talk_power_granted,
|
||||||
BridgeEvent::ChannelRemoved { id }
|
} => BridgeEvent::ClientUpdated {
|
||||||
}
|
client_id,
|
||||||
chanora_core::SessionEvent::ChannelUpdated { id, name, has_password, needed_talk_power } => {
|
input_muted,
|
||||||
BridgeEvent::ChannelUpdated { id, name, has_password, needed_talk_power }
|
output_muted,
|
||||||
}
|
is_server_query,
|
||||||
|
talk_power,
|
||||||
|
talk_power_granted,
|
||||||
|
},
|
||||||
|
chanora_core::SessionEvent::ChannelAdded {
|
||||||
|
id,
|
||||||
|
parent,
|
||||||
|
name,
|
||||||
|
order,
|
||||||
|
has_password,
|
||||||
|
needed_talk_power,
|
||||||
|
} => BridgeEvent::ChannelAdded {
|
||||||
|
id,
|
||||||
|
parent,
|
||||||
|
name,
|
||||||
|
order,
|
||||||
|
has_password,
|
||||||
|
needed_talk_power,
|
||||||
|
},
|
||||||
|
chanora_core::SessionEvent::ChannelRemoved { id } => BridgeEvent::ChannelRemoved { id },
|
||||||
|
chanora_core::SessionEvent::ChannelUpdated {
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
has_password,
|
||||||
|
needed_talk_power,
|
||||||
|
} => BridgeEvent::ChannelUpdated {
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
has_password,
|
||||||
|
needed_talk_power,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "chanora_resolver"
|
name = "chanora_resolver"
|
||||||
version = "0.1.0"
|
version.workspace = true
|
||||||
edition = "2021"
|
edition.workspace = true
|
||||||
license = "MIT OR Apache-2.0"
|
license.workspace = true
|
||||||
publish = false
|
publish.workspace = true
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
@@ -346,9 +346,7 @@ pub fn reduce(state: &mut Option<ServerState>, event: StateEvent) -> Reduction {
|
|||||||
if removed_channel {
|
if removed_channel {
|
||||||
deltas.push(Delta::ChannelRemoved(id));
|
deltas.push(Delta::ChannelRemoved(id));
|
||||||
}
|
}
|
||||||
Reduction {
|
Reduction { deltas }
|
||||||
deltas,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
_ => Reduction { deltas: vec![] },
|
_ => Reduction { deltas: vec![] },
|
||||||
},
|
},
|
||||||
@@ -412,14 +410,7 @@ pub fn reduce_reconnect_snapshot(
|
|||||||
state: &mut Option<ServerState>,
|
state: &mut Option<ServerState>,
|
||||||
snap: ServerSnapshot,
|
snap: ServerSnapshot,
|
||||||
) -> Reduction {
|
) -> Reduction {
|
||||||
let normalized = normalize_snapshot(snap);
|
reduce(state, StateEvent::Snapshot(snap))
|
||||||
*state = Some(ServerState::from_snapshot(normalized.clone()));
|
|
||||||
Reduction {
|
|
||||||
deltas: vec![
|
|
||||||
Delta::ConnectionStateChanged(ConnectionState::Ready),
|
|
||||||
Delta::SnapshotApplied(normalized),
|
|
||||||
],
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
Reference in New Issue
Block a user