2012-01-18 21 views
7

Czy jest jakaś korzyść pod względem czasu potrzebnego, aby uzyskać dane bufor wychodzą drutu jeśli używaszboost :: asio :: async_write() kontra boost :: asio :: write()

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

zamiast

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)); 

Odpowiedz

2

Największą różnicą jest to, że normalny write może blokować aż wszystko jest napisane, podczas gdy async_write powraca natychmiast i wymaga wywołania zwrotnego, gdy albo wszystkie dane są zapisywane lub wystąpi błąd.

Wątpię, aby istniała jakakolwiek zauważalna różnica w czasie od połączenia z danymi przesyłanymi przez przewód.

+0

Dzięki, to ulga wiedzieć. –

Powiązane problemy