1use nested_enum_utils::enum_conversions;
3use serde::{Deserialize, Serialize};
4
5pub mod blobs;
6pub mod tags;
7
8#[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
33pub type RpcError = serde_error::Error;
35pub type RpcResult<T> = Result<T, RpcError>;