pub struct ExperimentalServiceClient<T> { /* private fields */ }
Expand description
ExperimentalService exposes a number of APIs that are currently being prototyped and tested for future inclusion in the stable API.
Implementations§
Source§impl<T> ExperimentalServiceClient<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> ExperimentalServiceClient<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,
) -> ExperimentalServiceClient<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 bulk_import_relationships(
&mut self,
request: impl IntoStreamingRequest<Message = BulkImportRelationshipsRequest>,
) -> Result<Response<BulkImportRelationshipsResponse>, Status>
pub async fn bulk_import_relationships( &mut self, request: impl IntoStreamingRequest<Message = BulkImportRelationshipsRequest>, ) -> Result<Response<BulkImportRelationshipsResponse>, Status>
BulkImportRelationships is a faster path to writing a large number of relationships at once. It is both batched and streaming. For maximum performance, the caller should attempt to write relationships in as close to relationship sort order as possible: (resource.object_type, resource.object_id, relation, subject.object.object_type, subject.object.object_id, subject.optional_relation)
EXPERIMENTAL https://github.com/authzed/spicedb/issues/1303
Sourcepub async fn bulk_export_relationships(
&mut self,
request: impl IntoRequest<BulkExportRelationshipsRequest>,
) -> Result<Response<Streaming<BulkExportRelationshipsResponse>>, Status>
pub async fn bulk_export_relationships( &mut self, request: impl IntoRequest<BulkExportRelationshipsRequest>, ) -> Result<Response<Streaming<BulkExportRelationshipsResponse>>, Status>
BulkExportRelationships is the fastest path available to exporting relationships from the server. It is resumable, and will return results in an order determined by the server.
Sourcepub async fn bulk_check_permission(
&mut self,
request: impl IntoRequest<BulkCheckPermissionRequest>,
) -> Result<Response<BulkCheckPermissionResponse>, Status>
pub async fn bulk_check_permission( &mut self, request: impl IntoRequest<BulkCheckPermissionRequest>, ) -> Result<Response<BulkCheckPermissionResponse>, Status>
NOTE: BulkCheckPermission has been promoted to the stable API as “CheckBulkPermission” and the API will be removed from experimental in a future release.
Sourcepub async fn experimental_reflect_schema(
&mut self,
request: impl IntoRequest<ExperimentalReflectSchemaRequest>,
) -> Result<Response<ExperimentalReflectSchemaResponse>, Status>
pub async fn experimental_reflect_schema( &mut self, request: impl IntoRequest<ExperimentalReflectSchemaRequest>, ) -> Result<Response<ExperimentalReflectSchemaResponse>, Status>
EXPERIMENTAL: ReflectSchema is an API that allows clients to reflect the schema stored in SpiceDB. This is useful for clients that need to introspect the schema of a SpiceDB instance.
Sourcepub async fn experimental_computable_permissions(
&mut self,
request: impl IntoRequest<ExperimentalComputablePermissionsRequest>,
) -> Result<Response<ExperimentalComputablePermissionsResponse>, Status>
pub async fn experimental_computable_permissions( &mut self, request: impl IntoRequest<ExperimentalComputablePermissionsRequest>, ) -> Result<Response<ExperimentalComputablePermissionsResponse>, Status>
EXPERIMENTAL: ComputablePermissions is an API that allows clients to request the set of
permissions that compute based off a relation. For example, if a schema has a relation
viewer
and a permission view
defined as permission view = viewer + editor
, then the
computable permissions for the relation viewer
will include view
.
Sourcepub async fn experimental_dependent_relations(
&mut self,
request: impl IntoRequest<ExperimentalDependentRelationsRequest>,
) -> Result<Response<ExperimentalDependentRelationsResponse>, Status>
pub async fn experimental_dependent_relations( &mut self, request: impl IntoRequest<ExperimentalDependentRelationsRequest>, ) -> Result<Response<ExperimentalDependentRelationsResponse>, Status>
EXPERIMENTAL: DependentRelations is an API that allows clients to request the set of relations and permissions that used to compute a permission, recursively. It is the inverse of the ComputablePermissions API.
Sourcepub async fn experimental_diff_schema(
&mut self,
request: impl IntoRequest<ExperimentalDiffSchemaRequest>,
) -> Result<Response<ExperimentalDiffSchemaResponse>, Status>
pub async fn experimental_diff_schema( &mut self, request: impl IntoRequest<ExperimentalDiffSchemaRequest>, ) -> Result<Response<ExperimentalDiffSchemaResponse>, Status>
EXPERIMENTAL: DiffSchema is an API that allows clients to request the difference between the specified schema and the schema stored in SpiceDB. This is useful for clients that need to introspect the schema of a SpiceDB instance.
Sourcepub async fn experimental_register_relationship_counter(
&mut self,
request: impl IntoRequest<ExperimentalRegisterRelationshipCounterRequest>,
) -> Result<Response<ExperimentalRegisterRelationshipCounterResponse>, Status>
pub async fn experimental_register_relationship_counter( &mut self, request: impl IntoRequest<ExperimentalRegisterRelationshipCounterRequest>, ) -> Result<Response<ExperimentalRegisterRelationshipCounterResponse>, Status>
EXPERIMENTAL: RegisterRelationshipCounter registers a new filter for counting relationships. A filter must be registered before a count can be requested.
Sourcepub async fn experimental_count_relationships(
&mut self,
request: impl IntoRequest<ExperimentalCountRelationshipsRequest>,
) -> Result<Response<ExperimentalCountRelationshipsResponse>, Status>
pub async fn experimental_count_relationships( &mut self, request: impl IntoRequest<ExperimentalCountRelationshipsRequest>, ) -> Result<Response<ExperimentalCountRelationshipsResponse>, Status>
EXPERIMENTAL: CountRelationships returns the count of relationships for pre-registered filter.
Sourcepub async fn experimental_unregister_relationship_counter(
&mut self,
request: impl IntoRequest<ExperimentalUnregisterRelationshipCounterRequest>,
) -> Result<Response<ExperimentalUnregisterRelationshipCounterResponse>, Status>
pub async fn experimental_unregister_relationship_counter( &mut self, request: impl IntoRequest<ExperimentalUnregisterRelationshipCounterRequest>, ) -> Result<Response<ExperimentalUnregisterRelationshipCounterResponse>, Status>
EXPERIMENTAL: UnregisterRelationshipCounter unregisters an existing filter for counting relationships.
Trait Implementations§
Source§impl<T: Clone> Clone for ExperimentalServiceClient<T>
impl<T: Clone> Clone for ExperimentalServiceClient<T>
Source§fn clone(&self) -> ExperimentalServiceClient<T>
fn clone(&self) -> ExperimentalServiceClient<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 ExperimentalServiceClient<T>
impl<T> RefUnwindSafe for ExperimentalServiceClient<T>where
T: RefUnwindSafe,
impl<T> Send for ExperimentalServiceClient<T>where
T: Send,
impl<T> Sync for ExperimentalServiceClient<T>where
T: Sync,
impl<T> Unpin for ExperimentalServiceClient<T>where
T: Unpin,
impl<T> UnwindSafe for ExperimentalServiceClient<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§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> 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