fix(alias): use static string references instead of owned string

This commit is contained in:
Nova
2022-06-19 08:15:13 -04:00
parent 97f268c959
commit d1f6a34ac8
2 changed files with 7 additions and 7 deletions

View File

@@ -96,7 +96,7 @@ impl Node {
data: &[u8], data: &[u8],
) -> Result<(), ScenegraphError> { ) -> Result<(), ScenegraphError> {
if let Some(alias) = self.alias.get().as_ref() { if let Some(alias) = self.alias.get().as_ref() {
if !alias.signals.contains(&method.to_string()) { if !alias.signals.iter().any(|e| e == &method) {
return Err(ScenegraphError::SignalNotFound); return Err(ScenegraphError::SignalNotFound);
} }
alias alias
@@ -120,7 +120,7 @@ impl Node {
data: &[u8], data: &[u8],
) -> Result<Vec<u8>, ScenegraphError> { ) -> Result<Vec<u8>, ScenegraphError> {
if let Some(alias) = self.alias.get().as_ref() { if let Some(alias) = self.alias.get().as_ref() {
if !alias.methods.contains(&method.to_string()) { if !alias.methods.iter().any(|e| e == &method) {
return Err(ScenegraphError::MethodNotFound); return Err(ScenegraphError::MethodNotFound);
} }
alias alias
@@ -161,15 +161,15 @@ impl Node {
pub struct Alias { pub struct Alias {
original: Weak<Node>, original: Weak<Node>,
signals: Vec<String>, signals: Vec<&'static str>,
methods: Vec<String>, methods: Vec<&'static str>,
} }
impl Alias { impl Alias {
pub fn add_to( pub fn add_to(
node: &Arc<Node>, node: &Arc<Node>,
original: &Arc<Node>, original: &Arc<Node>,
signals: Vec<String>, signals: Vec<&'static str>,
methods: Vec<String>, methods: Vec<&'static str>,
) { ) {
let _ = node.alias.set(Alias { let _ = node.alias.set(Alias {
original: Arc::downgrade(original), original: Arc::downgrade(original),

View File

@@ -137,7 +137,7 @@ impl PulseSender {
&receiver_alias, &receiver_alias,
receiver.node.upgrade().as_ref().unwrap(), receiver.node.upgrade().as_ref().unwrap(),
vec![], vec![],
vec!["sendData".to_owned()], vec!["sendData"],
); );
aliases[i] = "".to_owned(); aliases[i] = "".to_owned();
fbb.push(receiver.uid.as_str()); fbb.push(receiver.uid.as_str());