librespot_metadata

Trait Metadata

source
pub trait Metadata:
    Send
    + Sized
    + 'static {
    type Message: Message + Debug;

    // Required methods
    fn request<'life0, 'life1, 'async_trait>(
        session: &'life0 Session,
        id: &'life1 SpotifyId,
    ) -> Pin<Box<dyn Future<Output = Result<Bytes, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait;
    fn parse(msg: &Self::Message, _: &SpotifyId) -> Result<Self, Error>;

    // Provided method
    fn get<'life0, 'life1, 'async_trait>(
        session: &'life0 Session,
        id: &'life1 SpotifyId,
    ) -> Pin<Box<dyn Future<Output = Result<Self, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
}

Required Associated Types§

Required Methods§

source

fn request<'life0, 'life1, 'async_trait>( session: &'life0 Session, id: &'life1 SpotifyId, ) -> Pin<Box<dyn Future<Output = Result<Bytes, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait,

source

fn parse(msg: &Self::Message, _: &SpotifyId) -> Result<Self, Error>

Provided Methods§

source

fn get<'life0, 'life1, 'async_trait>( session: &'life0 Session, id: &'life1 SpotifyId, ) -> Pin<Box<dyn Future<Output = Result<Self, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Object Safety§

This trait is not object safe.

Implementors§