在返回之前,向流写入一定量的数据。
template< typename SyncWriteStream, typename DynamicBuffer_v2, typename CompletionCondition> std::size_t write( SyncWriteStream & s, DynamicBuffer_v2 buffers, CompletionCondition completion_condition, constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value > = 0, constraint_t< is_completion_condition< CompletionCondition >::value > = 0);
此函数用于向流写入特定数量的数据字节。调用将阻塞,直到以下条件之一为真
此操作通过零次或多次调用流的 write_some 函数来实现。
要写入数据的流。类型必须支持 SyncWriteStream 概念。
将从中写入数据的动态缓冲区序列。成功写入的数据会自动从缓冲区中消耗。
要调用的函数对象,以确定写入操作是否完成。函数对象的签名必须是
std::size_t completion_condition( // Result of latest write_some operation. const boost::system::error_code& error, // Number of bytes transferred so far. std::size_t bytes_transferred );
返回值为 0 表示写入操作已完成。非零返回值表示在下次调用流的 write_some 函数时要写入的最大字节数。
传输的字节数。
失败时抛出。