pub struct PathInfoServiceClient<T> {
inner: Grpc<T>,
}
Fields§
§inner: Grpc<T>
Implementations§
source§impl<T> PathInfoServiceClient<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> PathInfoServiceClient<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,
) -> PathInfoServiceClient<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<GetPathInfoRequest>,
) -> Result<Response<PathInfo>, Status>
pub async fn get( &mut self, request: impl IntoRequest<GetPathInfoRequest>, ) -> Result<Response<PathInfo>, Status>
Return a PathInfo message matching the criteria specified in the GetPathInfoRequest message.
sourcepub async fn put(
&mut self,
request: impl IntoRequest<PathInfo>,
) -> Result<Response<PathInfo>, Status>
pub async fn put( &mut self, request: impl IntoRequest<PathInfo>, ) -> Result<Response<PathInfo>, Status>
Upload a PathInfo object to the remote end. It MUST not return until the PathInfo object has been written on the the remote end.
The remote end MAY check if a potential DirectoryNode has already been uploaded.
Uploading clients SHOULD obviously not steer other machines to try to substitute before from the remote end before having finished uploading PathInfo, Directories and Blobs. The returned PathInfo object MAY contain additional narinfo signatures, but is otherwise left untouched.
sourcepub async fn calculate_nar(
&mut self,
request: impl IntoRequest<Node>,
) -> Result<Response<CalculateNarResponse>, Status>
pub async fn calculate_nar( &mut self, request: impl IntoRequest<Node>, ) -> Result<Response<CalculateNarResponse>, Status>
Calculate the NAR representation of the contents specified by the root_node. The calculation SHOULD be cached server-side for subsequent requests.
All references (to blobs or Directory messages) MUST already exist in the store.
The method can be used to produce a Nix fixed-output path, which contains the (compressed) sha256 of the NAR content representation in the root_node name (suffixed with the name).
It can also be used to calculate arbitrary NAR hashes of output paths, in case a legacy Nix Binary Cache frontend is provided.
sourcepub async fn list(
&mut self,
request: impl IntoRequest<ListPathInfoRequest>,
) -> Result<Response<Streaming<PathInfo>>, Status>
pub async fn list( &mut self, request: impl IntoRequest<ListPathInfoRequest>, ) -> Result<Response<Streaming<PathInfo>>, Status>
Return a stream of PathInfo messages matching the criteria specified in ListPathInfoRequest.
Trait Implementations§
source§impl<T: Clone> Clone for PathInfoServiceClient<T>
impl<T: Clone> Clone for PathInfoServiceClient<T>
source§fn clone(&self) -> PathInfoServiceClient<T>
fn clone(&self) -> PathInfoServiceClient<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 PathInfoServiceClient<T>
impl<T> RefUnwindSafe for PathInfoServiceClient<T>where
T: RefUnwindSafe,
impl<T> Send for PathInfoServiceClient<T>where
T: Send,
impl<T> Sync for PathInfoServiceClient<T>where
T: Sync,
impl<T> Unpin for PathInfoServiceClient<T>where
T: Unpin,
impl<T> UnwindSafe for PathInfoServiceClient<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