Struct ExperimentalServiceClient

Source
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 ExperimentalServiceClient<Channel>

Source

pub async fn connect<D>(dst: D) -> Result<Self, Error>
where D: TryInto<Endpoint>, D::Error: Into<StdError>,

Attempt to create a new client by connecting to a given endpoint.

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,

Source

pub fn new(inner: T) -> Self

Source

pub fn with_origin(inner: T, origin: Uri) -> Self

Source

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,

Source

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.

Source

pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self

Enable decompressing responses.

Source

pub fn max_decoding_message_size(self, limit: usize) -> Self

Limits the maximum size of a decoded message.

Default: 4MB

Source

pub fn max_encoding_message_size(self, limit: usize) -> Self

Limits the maximum size of an encoded message.

Default: usize::MAX

Source

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

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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>

Source§

fn clone(&self) -> ExperimentalServiceClient<T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for ExperimentalServiceClient<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more