pub struct DirectoryServiceClient<T> {
inner: Grpc<T>,
}
Fields§
§inner: Grpc<T>
Implementations§
source§impl<T> DirectoryServiceClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> DirectoryServiceClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_origin(inner: T, origin: Uri) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> DirectoryServiceClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,
sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing responses.
sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
sourcepub async fn get(
&mut self,
request: impl IntoRequest<GetDirectoryRequest>,
) -> Result<Response<Streaming<Directory>>, Status>
pub async fn get( &mut self, request: impl IntoRequest<GetDirectoryRequest>, ) -> Result<Response<Streaming<Directory>>, Status>
Get retrieves a stream of Directory messages, by using the lookup parameters in GetDirectoryRequest. Keep in mind multiple DirectoryNodes in different parts of the graph might have the same digest if they have the same underlying contents, so sending subsequent ones can be omitted.
It is okay for certain implementations to only allow retrieval of Directory digests that are at the “root”, aka the last element that’s sent in a Put. This makes sense for implementations bundling closures of directories together in batches.
sourcepub async fn put(
&mut self,
request: impl IntoStreamingRequest<Message = Directory>,
) -> Result<Response<PutDirectoryResponse>, Status>
pub async fn put( &mut self, request: impl IntoStreamingRequest<Message = Directory>, ) -> Result<Response<PutDirectoryResponse>, Status>
Put uploads a graph of Directory messages. Individual Directory messages need to be send in an order walking up from the leaves to the root - a Directory message can only refer to Directory messages previously sent in the same stream. Keep in mind multiple DirectoryNodes in different parts of the graph might have the same digest if they have the same underlying contents, so sending subsequent ones can be omitted. We might add a separate method, allowing to send partial graphs at a later time, if requiring to send the full graph turns out to be a problem.
Trait Implementations§
source§impl<T: Clone> Clone for DirectoryServiceClient<T>
impl<T: Clone> Clone for DirectoryServiceClient<T>
source§fn clone(&self) -> DirectoryServiceClient<T>
fn clone(&self) -> DirectoryServiceClient<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<T> !Freeze for DirectoryServiceClient<T>
impl<T> RefUnwindSafe for DirectoryServiceClient<T>where
T: RefUnwindSafe,
impl<T> Send for DirectoryServiceClient<T>where
T: Send,
impl<T> Sync for DirectoryServiceClient<T>where
T: Sync,
impl<T> Unpin for DirectoryServiceClient<T>where
T: Unpin,
impl<T> UnwindSafe for DirectoryServiceClient<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request