//! [`Reporter`] and associated types.
useasync_trait::async_trait;/// An abstract way to report the [`Data`].
////// Implement this to send the IP address updates to a new detination.
#[async_trait]pubtraitReporter{/// The error that this reporter can produce.
typeError;/// Report the passed [`Data`].
async fnreport(&self, data:&Data)->Result<(), Self::Error>;}/// The data associated with an IP address update.
#[derive(Debug)]pubstructData{/// The IP address.
pubip: String,
}