diff options
Diffstat (limited to 'src/tasks/server.rs')
| -rw-r--r-- | src/tasks/server.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/tasks/server.rs b/src/tasks/server.rs index dee5254..4271b7c 100644 --- a/src/tasks/server.rs +++ b/src/tasks/server.rs @@ -48,20 +48,20 @@ fn get_ip(_: &[&str], ctx: &ServerCtx) -> TaskOutput { } } -impl<'a> TryFrom<Name> for &'static Task<'a> { +impl<'a> TryFrom<Name> for Task<'a> { type Error = IntoTaskErr; fn try_from(value: Name) -> Result<Self, Self::Error> { - for task in TASKS { - if task - .0 - .name - == value - { - return Ok(task); - } + match value { + Name::GetIp => Ok( + Task( + BaseTask { + name: Name::GetIp, + exec: get_ip, + }, + ), + ), } - Err(IntoTaskErr::NotFound(value.to_string())) } } |
