Use a sync channel for peer sending. Fixes #904

This commit is contained in:
Ignotus Peverell 2018-03-28 23:59:42 +01:00
parent b4308e9075
commit c3cec63a95
No known key found for this signature in database
GPG key ID: 99CD25F39F8F8211

View file

@ -142,7 +142,7 @@ pub struct Tracker {
/// Bytes we've received.
pub received_bytes: Arc<Mutex<u64>>,
/// Channel to allow sending data through the connection
pub send_channel: mpsc::Sender<Vec<u8>>,
pub send_channel: mpsc::SyncSender<Vec<u8>>,
/// Channel to close the connection
pub close_channel: mpsc::Sender<()>,
/// Channel to check for errors on the connection
@ -167,7 +167,7 @@ pub fn listen<H>(stream: TcpStream, handler: H) -> Tracker
where
H: MessageHandler,
{
let (send_tx, send_rx) = mpsc::channel();
let (send_tx, send_rx) = mpsc::sync_channel(10);
let (close_tx, close_rx) = mpsc::channel();
let (error_tx, error_rx) = mpsc::channel();