⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 write.hpp

📁 这是国外的resip协议栈
💻 HPP
📖 第 1 页 / 共 2 页
字号:
 *   const asio::error_code& error, // Result of latest write_some *                                           // operation. * *   std::size_t bytes_transferred           // Number of bytes transferred *                                           // so far. * ); @endcode * A return value of true indicates that the write operation is complete. False * indicates that further calls to the stream's write_some function are * required. * * @param ec Set to indicate what error occurred, if any. * * @returns The number of bytes written. If an error occurs, returns the total * number of bytes successfully transferred prior to the error. */template <typename SyncWriteStream, typename Allocator,    typename CompletionCondition>std::size_t write(SyncWriteStream& s, basic_streambuf<Allocator>& b,    CompletionCondition completion_condition, asio::error_code& ec);/*@}*//** * @defgroup async_write asio::async_write *//*@{*//// Start an asynchronous operation to write of all of the supplied data to a/// stream./** * This function is used to asynchronously write a certain number of bytes of * data to a stream. The function call always returns immediately. The * asynchronous operation will continue until one of the following conditions * is true: * * @li All of the data in the supplied buffers has been written. That is, the * bytes transferred is equal to the sum of the buffer sizes. * * @li An error occurred. * * This operation is implemented in terms of one or more calls to the stream's * async_write_some function. * * @param s The stream to which the data is to be written. The type must support * the AsyncWriteStream concept. * * @param buffers One or more buffers containing the data to be written. * Although the buffers object may be copied as necessary, ownership of the * underlying memory blocks is retained by the caller, which must guarantee * that they remain valid until the handler is called. * * @param handler The handler to be called when the write operation completes. * Copies will be made of the handler as required. The function signature of * the handler must be: * @code void handler( *   const asio::error_code& error, // Result of operation. * *   std::size_t bytes_transferred           // Number of bytes written from the *                                           // buffers. If an error occurred, *                                           // this will be less than the sum *                                           // of the buffer sizes. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using * asio::io_service::post(). * * @par Example * To write a single data buffer use the @ref buffer function as follows: * @code * asio::async_write(s, asio::buffer(data, size), handler); * @endcode * See the @ref buffer documentation for information on writing multiple * buffers in one go, and how to use it with arrays, boost::array or * std::vector. */template <typename AsyncWriteStream, typename ConstBufferSequence,    typename WriteHandler>void async_write(AsyncWriteStream& s, const ConstBufferSequence& buffers,    WriteHandler handler);/// Start an asynchronous operation to write a certain amount of data to a/// stream./** * This function is used to asynchronously write a certain number of bytes of * data to a stream. The function call always returns immediately. The * asynchronous operation will continue until one of the following conditions * is true: * * @li All of the data in the supplied buffers has been written. That is, the * bytes transferred is equal to the sum of the buffer sizes. * * @li The completion_condition function object returns true. * * This operation is implemented in terms of one or more calls to the stream's * async_write_some function. * * @param s The stream to which the data is to be written. The type must support * the AsyncWriteStream concept. * * @param buffers One or more buffers containing the data to be written. * Although the buffers object may be copied as necessary, ownership of the * underlying memory blocks is retained by the caller, which must guarantee * that they remain valid until the handler is called. * * @param completion_condition The function object to be called to determine * whether the write operation is complete. The signature of the function object * must be: * @code bool completion_condition( *   const asio::error_code& error, // Result of latest write_some *                                           // operation. * *   std::size_t bytes_transferred           // Number of bytes transferred *                                           // so far. * ); @endcode * A return value of true indicates that the write operation is complete. False * indicates that further calls to the stream's async_write_some function are * required. * * @param handler The handler to be called when the write operation completes. * Copies will be made of the handler as required. The function signature of the * handler must be: * @code void handler( *   const asio::error_code& error, // Result of operation. * *   std::size_t bytes_transferred           // Number of bytes written from the *                                           // buffers. If an error occurred, *                                           // this will be less than the sum *                                           // of the buffer sizes. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using * asio::io_service::post(). * * @par Example * To write a single data buffer use the @ref buffer function as follows: * @code asio::async_write(s, *     asio::buffer(data, size), *     asio::transfer_at_least(32), *     handler); @endcode * See the @ref buffer documentation for information on writing multiple * buffers in one go, and how to use it with arrays, boost::array or * std::vector. */template <typename AsyncWriteStream, typename ConstBufferSequence,    typename CompletionCondition, typename WriteHandler>void async_write(AsyncWriteStream& s, const ConstBufferSequence& buffers,    CompletionCondition completion_condition, WriteHandler handler);/// Start an asynchronous operation to write a certain amount of data to a/// stream./** * This function is used to asynchronously write a certain number of bytes of * data to a stream. The function call always returns immediately. The * asynchronous operation will continue until one of the following conditions * is true: * * @li All of the data in the supplied basic_streambuf has been written. * * @li An error occurred. * * This operation is implemented in terms of one or more calls to the stream's * async_write_some function. * * @param s The stream to which the data is to be written. The type must support * the AsyncWriteStream concept. * * @param b A basic_streambuf object from which data will be written. Ownership * of the streambuf is retained by the caller, which must guarantee that it * remains valid until the handler is called. * * @param handler The handler to be called when the write operation completes. * Copies will be made of the handler as required. The function signature of the * handler must be: * @code void handler( *   const asio::error_code& error, // Result of operation. * *   std::size_t bytes_transferred           // Number of bytes written from the *                                           // buffers. If an error occurred, *                                           // this will be less than the sum *                                           // of the buffer sizes. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using * asio::io_service::post(). */template <typename AsyncWriteStream, typename Allocator, typename WriteHandler>void async_write(AsyncWriteStream& s, basic_streambuf<Allocator>& b,    WriteHandler handler);/// Start an asynchronous operation to write a certain amount of data to a/// stream./** * This function is used to asynchronously write a certain number of bytes of * data to a stream. The function call always returns immediately. The * asynchronous operation will continue until one of the following conditions * is true: * * @li All of the data in the supplied basic_streambuf has been written. * * @li The completion_condition function object returns true. * * This operation is implemented in terms of one or more calls to the stream's * async_write_some function. * * @param s The stream to which the data is to be written. The type must support * the AsyncWriteStream concept. * * @param b A basic_streambuf object from which data will be written. Ownership * of the streambuf is retained by the caller, which must guarantee that it * remains valid until the handler is called. * * @param completion_condition The function object to be called to determine * whether the write operation is complete. The signature of the function object * must be: * @code bool completion_condition( *   const asio::error_code& error, // Result of latest write_some *                                           // operation. * *   std::size_t bytes_transferred           // Number of bytes transferred *                                           // so far. * ); @endcode * A return value of true indicates that the write operation is complete. False * indicates that further calls to the stream's async_write_some function are * required. * * @param handler The handler to be called when the write operation completes. * Copies will be made of the handler as required. The function signature of the * handler must be: * @code void handler( *   const asio::error_code& error, // Result of operation. * *   std::size_t bytes_transferred           // Number of bytes written from the *                                           // buffers. If an error occurred, *                                           // this will be less than the sum *                                           // of the buffer sizes. * ); @endcode * Regardless of whether the asynchronous operation completes immediately or * not, the handler will not be invoked from within this function. Invocation of * the handler will be performed in a manner equivalent to using * asio::io_service::post(). */template <typename AsyncWriteStream, typename Allocator,    typename CompletionCondition, typename WriteHandler>void async_write(AsyncWriteStream& s, basic_streambuf<Allocator>& b,    CompletionCondition completion_condition, WriteHandler handler);/*@}*/} // namespace asio#include "asio/impl/write.ipp"#include "asio/detail/pop_options.hpp"#endif // ASIO_WRITE_HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -