worker.rs 28.5 KiB
Newer Older

		handle.sender.unbounded_send(listen_msg_2).unwrap();

		runtime.block_on(r2.unit_error().boxed().compat()).unwrap().unwrap().unwrap();
		// The gossip sender for this topic left intact => listener not registered.
		assert!(messages.messages.lock().unwrap().contains_key(&topic_2));

		let (s1, r1) = oneshot::channel();

		// Tell the worker to listen for chunks from candidate 1.
		// (we don't have a chunk from it yet).
		let listen_msg_1 = WorkerMsg::ListenForChunks(ListenForChunks {
			relay_parent,
			candidate_hash: candidate_1_hash,
			index: local_id as u32,
			result: Some(s1),
		});

		handle.sender.unbounded_send(listen_msg_1).unwrap();
		runtime.block_on(r1.unit_error().boxed().compat()).unwrap().unwrap().unwrap();

		// The gossip sender taken => listener registered.
		assert!(!messages.messages.lock().unwrap().contains_key(&topic_1));
	}
}