2012-01-18 2 views
7

Есть ли какие-либо преимущества с точки зрения времени, которое требуется, чтобы получить данные буфера из проволоки на , если вы используетеповышение :: ASIO :: async_write() по сравнению с повышением :: ASIO :: записи()

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

вместо

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

ответ

2

большая разница в том, что нормальный write может блокировать, пока все написано, в то время как async_write возвращается немедленно и вызывает функцию обратного вызова, когда пишется либо все данные или произошла ошибка.

Я сомневаюсь, что есть заметная разница во времени от вызова фактических данных, передаваемых по кабелю.

+0

Спасибо, это облегчение, чтобы знать. –

Смежные вопросы