iroh_blobs/rpc/
proto.rs

1//! RPC protocol for the iroh-blobs service
2use nested_enum_utils::enum_conversions;
3use serde::{Deserialize, Serialize};
4
5pub mod blobs;
6pub mod tags;
7
8/// quic-rpc service for iroh blobs
9#[derive(Debug, Clone)]
10pub struct RpcService;
11
12impl quic_rpc::Service for RpcService {
13    type Req = Request;
14    type Res = Response;
15}
16
17#[allow(missing_docs)]
18#[enum_conversions]
19#[derive(Debug, Serialize, Deserialize)]
20pub enum Request {
21    Blobs(blobs::Request),
22    Tags(tags::Request),
23}
24
25#[allow(missing_docs)]
26#[enum_conversions]
27#[derive(Debug, Serialize, Deserialize)]
28pub enum Response {
29    Blobs(blobs::Response),
30    Tags(tags::Response),
31}
32
33/// Error type for RPC operations
34pub type RpcError = serde_error::Error;
35/// Result type for RPC operations
36pub type RpcResult<T> = Result<T, RpcError>;