pub fn add_client<Artifact: ArtifactKind + 'static, Client: 'static>(
        &mut self,
        client: Client,
        processor: ArtifactProcessorManager<Artifact>,
    ) where
        Client: ArtifactClient<Artifact>,
        Artifact::SerializeAs: TryFrom<artifact::Artifact, Error = artifact::Artifact>,
        Artifact::Message: ChunkableArtifact + Send,
        Advert<Artifact>:
            Into<p2p::GossipAdvert> + TryFrom<p2p::GossipAdvert, Error = p2p::GossipAdvert> + Eq,
        for<'b> &'b Artifact::Id:
            TryFrom<&'b artifact::ArtifactId, Error = &'b artifact::ArtifactId>,
        artifact::ArtifactFilter: AsMut<Artifact::Filter> + AsRef<Artifact::Filter>,
        for<'b> &'b Artifact::Attribute:
            TryFrom<&'b artifact::ArtifactAttribute, Error = &'b artifact::ArtifactAttribute>,
        Artifact::Attribute: 'static,
    {
        let tag = Artifact::TAG;
        self.clients.insert(
            tag,
            Box::new(ArtifactManagerBackendImpl {
                client: Arc::new(client) as Arc<_>,
                processor,
            }),
        );
    }
/// The method adds a new `ArtifactClient` to be managed.
The method adds a new `ArtifactClient` to be managed.
The method adds a new ` ArtifactClient ` to be managed .
pub fn add_client<Artifact: ArtifactKind + 'static, Client: 'static>(
        &mut self,
        client: Client,
        processor: ArtifactProcessorManager<Artifact>,
    ) where
        Client: ArtifactClient<Artifact>,
        Artifact::SerializeAs: TryFrom<artifact::Artifact, Error = artifact::Artifact>,
        Artifact::Message: ChunkableArtifact + Send,
        Advert<Artifact>:
            Into<p2p::GossipAdvert> + TryFrom<p2p::GossipAdvert, Error = p2p::GossipAdvert> + Eq,
        for<'b> &'b Artifact::Id:
            TryFrom<&'b artifact::ArtifactId, Error = &'b artifact::ArtifactId>,
        artifact::ArtifactFilter: AsMut<Artifact::Filter> + AsRef<Artifact::Filter>,
        for<'b> &'b Artifact::Attribute:
            TryFrom<&'b artifact::ArtifactAttribute, Error = &'b artifact::ArtifactAttribute>,
        Artifact::Attribute: 'static,
    {
        let tag = Artifact::TAG;
        self.clients.insert(
            tag,
            Box::new(ArtifactManagerBackendImpl {
                client: Arc::new(client) as Arc<_>,
                processor,
            }),
        );
    }
pub fn add_client < Artifact : ArtifactKind + ' static , Client : ' static > ( & mut self , client : Client , processor : ArtifactProcessorManager < Artifact > , ) where Client : ArtifactClient < Artifact > , Artifact :: SerializeAs : TryFrom < artifact :: Artifact , Error = artifact :: Artifact > , Artifact :: Message : ChunkableArtifact + Send , Advert < Artifact > : Into < p2p :: GossipAdvert > + TryFrom < p2p :: GossipAdvert , Error = p2p :: GossipAdvert > + Eq , for < ' b > & ' b Artifact :: Id : TryFrom < & ' b artifact :: ArtifactId , Error = & ' b artifact :: ArtifactId > , artifact :: ArtifactFilter : AsMut < Artifact :: Filter > + AsRef < Artifact :: Filter > , for < ' b > & ' b Artifact :: Attribute : TryFrom < & ' b artifact :: ArtifactAttribute , Error = & ' b artifact :: ArtifactAttribute > , Artifact :: Attribute : ' static , { let tag = Artifact :: TAG ; self . clients . insert ( tag , Box :: new ( ArtifactManagerBackendImpl { client : Arc :: new ( client ) as Arc < _ > , processor , } ) , ) ; }
The method adds a new `ArtifactClient` to be managed.
The method adds a new ` ArtifactClient ` to be managed .
&mut self
client
Client
processor
ArtifactProcessorManager<Artifact>
&mut self
client
Client
processor
ArtifactProcessorManager<Artifact>