diff options
author | Toby Vincent <tobyv13@gmail.com> | 2023-03-19 21:38:46 -0500 |
---|---|---|
committer | Toby Vincent <tobyv13@gmail.com> | 2023-03-19 21:38:46 -0500 |
commit | 82598a3adc9d950c34346ccd0128d6ef78bbb437 (patch) | |
tree | f98fe22afd44a759556c1bb68c7f73d8593c8d6e /src/lib.rs | |
parent | 928995171b8f3f19df96cfd5870f7e88f11c3978 (diff) |
fix: impl From<String> for Session for `Discovered` sessions
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -2,7 +2,7 @@ use std::{ collections::{hash_map::Entry, HashMap}, fmt::Display, iter::IntoIterator, - time::Duration, + time::{Duration, SystemTime, UNIX_EPOCH}, }; use serde::{Deserialize, Serialize}; @@ -84,3 +84,17 @@ impl Display for Session { write!(f, "{}", self.name) } } + +impl From<String> for Session { + fn from(name: String) -> Self { + let timestamp = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("Current time is pre-epoch. (Time traveler?)"); + + Self { + state: State::Discovered, + timestamp, + name, + } + } +} |