From 5e38ab9c2cccec681649623397d8491b233a8df2 Mon Sep 17 00:00:00 2001 From: hrzlgnm Date: Wed, 6 Mar 2024 21:30:59 +0100 Subject: [PATCH] feat: sort resolved addresses in backend (#33) --- src-tauri/src/main.rs | 8 +++++--- src/app.rs | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 45354c7..38fe721 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -5,7 +5,6 @@ use log::LevelFilter; use mdns_sd::{ServiceDaemon, ServiceEvent}; use serde::{Deserialize, Serialize}; use std::{ - collections::HashSet, net::IpAddr, sync::{Arc, Mutex}, }; @@ -28,7 +27,7 @@ struct ResolvedService { instance_name: String, hostname: String, port: u16, - addresses: HashSet, + addresses: Vec, } #[tauri::command] @@ -43,11 +42,14 @@ fn resolve_service(service_type: String, state: State) -> Vec { + let mut sorted_addresses: Vec = + info.get_addresses().clone().drain().collect(); + sorted_addresses.sort(); result.push(ResolvedService { instance_name: info.get_fullname().into(), hostname: info.get_hostname().into(), port: info.get_port(), - addresses: info.get_addresses().clone(), + addresses: sorted_addresses, }); } ServiceEvent::SearchStarted(_) => { diff --git a/src/app.rs b/src/app.rs index 1e7463d..497f9fc 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,4 +1,4 @@ -use std::{collections::HashSet, net::IpAddr}; +use std::net::IpAddr; use leptos::{html::Input, *}; use serde::{Deserialize, Serialize}; @@ -24,7 +24,7 @@ struct ResolvedService { instance_name: String, hostname: String, port: u16, - addresses: HashSet, + addresses: Vec, } type ResolvedServices = Vec;