Reporting

Trait Reporting 

Source
pub trait Reporting {
    type Record<'res>: Record
       where Self: 'res;
    type Reporter<'res>: Iterator<Item = Self::Record<'res>>
       where Self: 'res;

    // Required method
    fn report(&self) -> Self::Reporter<'_>;

    // Provided method
    fn write_extra_link_format(
        &self,
        writer: &mut impl Write,
        is_first: &mut bool,
    ) -> Result { ... }
}
Expand description

Indicates that this resource can produce output for a .well-known/core resource.

Several trivial implementations (NotReporting for resources that should not show in .well-known/core, ConstantSingleRecordReport for resources with one static record) are available that cover most scenarios in which a custom Handler is implemented.

Required Associated Types§

Source

type Record<'res>: Record where Self: 'res

Source

type Reporter<'res>: Iterator<Item = Self::Record<'res>> where Self: 'res

Required Methods§

Source

fn report(&self) -> Self::Reporter<'_>

Provided Methods§

Writes additional lines into an output RFC6690 Link Format document

This output is appended to any records produced.

The is_first argument assists both parties in coordination of the , delimiter: Unless is_first=true, this writer needs to prefix its output with a , (comma) character, and if it produces any output, it sets *is_first=false.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<H> Reporting for Option<H>
where H: Reporting,

Source§

type Record<'res> = <H as Reporting>::Record<'res> where Self: 'res

Source§

type Reporter<'res> = OptionReporter<'res, H> where Self: 'res

Source§

fn report(&self) -> Self::Reporter<'_>

Implementors§