pub trait OperationDeclaration: 'static {
type Request: Portable;
type Response: Portable;
type Input: Direction;
type Output: Direction;
const ID: &'static str;
const POLICY: OperationPolicy;
const DESCRIPTION: &'static str = "";
const VISIBILITY: Visibility = Visibility::Private;
const REPLAY: ReplaySafety = ReplaySafety::Unknown;
const GRPC: Option<Grpc> = None;
const OPERATIONS: &'static [WireDeclaration] = _;
// Provided methods
fn definition() -> OperationDefinition { ... }
fn grant(_request: &Self::Request) -> Option<Grant> { ... }
fn key(_request: &Self::Request) -> Option<CacheKey> { ... }
}Required Associated Constants§
Provided Associated Constants§
const DESCRIPTION: &'static str = ""
const VISIBILITY: Visibility = Visibility::Private
const REPLAY: ReplaySafety = ReplaySafety::Unknown
const GRPC: Option<Grpc> = None
const OPERATIONS: &'static [WireDeclaration] = _
Required Associated Types§
type Request: Portable
type Response: Portable
type Input: Direction
type Output: Direction
Provided Methods§
fn definition() -> OperationDefinition
fn grant(_request: &Self::Request) -> Option<Grant>
fn key(_request: &Self::Request) -> Option<CacheKey>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".