pub trait LogicalExtensionCodec: Debug + Send + Sync {
fn try_decode(
&self,
buf: &[u8],
inputs: &[LogicalPlan],
ctx: &SessionContext
) -> Result<Extension, DataFusionError>;
fn try_encode(
&self,
node: &Extension,
buf: &mut Vec<u8>
) -> Result<(), DataFusionError>;
}