archivist_lib/logs/
error.rs

1// Copyright 2020 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3
4use super::listener::ListenerError;
5use crate::events::error::EventError;
6use thiserror::Error;
7
8#[derive(Debug, Error)]
9pub enum LogsError {
10    #[error("couldn't connect to {protocol}: {source}")]
11    ConnectingToService { protocol: &'static str, source: anyhow::Error },
12
13    #[error("couldn't retrieve the ReadOnlyLog debuglog handle: {source}")]
14    RetrievingDebugLog { source: fidl::Error },
15
16    #[error("malformed event: `{source}`")]
17    MalformedEvent {
18        #[from]
19        source: EventError,
20    },
21
22    #[error("FIDL internal error: `{source}`")]
23    FidlError {
24        #[from]
25        source: fidl::Error,
26    },
27
28    #[error("Error duplicating handle: `{source}`")]
29    DuplicateHandleError {
30        #[from]
31        source: fidl::Status,
32    },
33
34    #[error("error while handling {protocol} requests: {source}")]
35    HandlingRequests { protocol: &'static str, source: fidl::Error },
36
37    #[error("error from a listener: {source}")]
38    Listener {
39        #[from]
40        source: ListenerError,
41    },
42}