xmtp_api_d14n/middleware/
traits.rs

1use xmtp_api_grpc::ClientBuilder;
2use xmtp_common::time::Duration;
3use xmtp_proto::prelude::ApiBuilder;
4
5/* Middleware trait */
6
7pub trait MiddlewareBuilder: ApiBuilder {
8    /// Set the gateway builder for node discovery.
9    fn set_gateway_builder(&mut self, gateway_builder: ClientBuilder) -> Result<(), Self::Error>;
10    /// Set the default builder for xmtpd nodes
11    fn set_node_client_builder(&mut self, node_builder: ClientBuilder) -> Result<(), Self::Error>;
12
13    /// Set the timeout for node discovery.
14    fn set_timeout(&mut self, timeout: Duration) -> Result<(), Self::Error>;
15}