use crate::error::Result;
use crate::op::{CompletionPayload, Op, OpDescriptor};
#[derive(Clone, Copy, Debug, Default)]
pub struct Nop;
impl Op for Nop {
type Output = ();
fn name(&self) -> &'static str {
"nop"
}
fn into_descriptor(self) -> Result<OpDescriptor> {
Ok(OpDescriptor::Nop)
}
fn map_completion(payload: CompletionPayload) -> Result<Self::Output> {
match payload {
CompletionPayload::Unit => Ok(()),
other => Err(crate::error::Error::completion(
format!("nop received unexpected completion payload: {other:?}"),
"ensure the backend routes nop completions as unit payloads",
)),
}
}
}