2012-01-18 15 views
7

C'è qualche vantaggio in termini di tempo necessario per ottenere i dati dell'amplificatore immesso nella rete se si utilizzaboost :: asio :: async_write() rispetto boost :: asio :: write()

boost::asio::write(m_socket, asio::buffer(dataOut_, len), asio::transfer_all()); 

invece di

boost::asio::async_write(m_socket, boost::asio::buffer(hbs, sizeof(hbs)), 
         boost::bind(&Client::handle_pulse, this, 
         boost::asio::placeholders::error, 
         boost::asio::placeholders::bytes_transferred)); 

risposta

2

la grande differenza è che la normale write in grado di bloccare fino a quando tutto è scritto, mentre async_write restituisce immediatamente e chiama un callback quando o tutti i dati vengono scritti o si verifica un errore.

Dubito che ci sia una differenza notevole nel tempo dalla chiamata ai dati effettivamente inviati sul filo.

+0

Grazie, è un sollievo sapere. –