pub fn spawn(chains: ChainHandlePair, object: Object) -> WorkerHandle {
        let (tx, rx) = crossbeam_channel::unbounded();

        debug!(
            "[{}] spawned worker with chains a:{} and b:{} for object {:#?} ",
            object.short_name(),
            chains.a.id(),
            chains.b.id(),
            object,
        );

        let worker = Self { chains, rx };
        let thread_handle = std::thread::spawn(move || worker.run(object));

        WorkerHandle { tx, thread_handle }
    }
/// Spawn a worker which relay events pertaining to an [`Object`] between two `chains`.
Spawn a worker which relay events pertaining to an [`Object`] between two `chains`.
Spawn a worker which relay events pertaining to an [ ` Object ` ] between two ` chains ` .
pub fn spawn(chains: ChainHandlePair, object: Object) -> WorkerHandle {
        let (tx, rx) = crossbeam_channel::unbounded();
        debug!(
            "[{}] spawned worker with chains a:{} and b:{} for object {:#?} ",
            object.short_name(),
            chains.a.id(),
            chains.b.id(),
            object,
        );
        let worker = Self { chains, rx };
        let thread_handle = std::thread::spawn(move || worker.run(object));
        WorkerHandle { tx, thread_handle }
    }
pub fn spawn ( chains : ChainHandlePair , object : Object ) -> WorkerHandle { let ( tx , rx ) = crossbeam_channel :: unbounded ( ) ; debug ! ( " " object short_name ( ) chains a id ( ) chains b id ( ) object ) ; let worker = Self { chains , rx } ; let thread_handle = std :: thread :: spawn ( move | | worker . run ( object ) ) ; WorkerHandle { tx , thread_handle } }
Spawn a worker which relay events pertaining to an [`Object`] between two `chains`.
Spawn a worker which relay events pertaining to an [ ` Object ` ] between two ` chains ` .
chains
ChainHandlePair
object
Object
chains
ChainHandlePair
object
Object