X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FClientSocketHandle.hh;h=368e3cdb3d1c86bd0015beaaacbd9fcaa9b37893;hb=11e54a3241bf7c58b4b418a24abea04d12a683aa;hp=e07dccf99960ff5f1156658d0d0a8e16a19197ba;hpb=7a1872f6702d6206bf1d8364c4e894f98d1c64f0;p=senf.git diff --git a/Socket/ClientSocketHandle.hh b/Socket/ClientSocketHandle.hh index e07dccf..368e3cd 100644 --- a/Socket/ClientSocketHandle.hh +++ b/Socket/ClientSocketHandle.hh @@ -229,7 +229,7 @@ namespace senf { std::pair readfrom (unsigned limit=0); template - typename boost::range_iterator::type + typename boost::range_iterator::type readfrom (ForwardWritableRange const & range, Address & from); ///< Read data into range /**< Read data into the given range. At most @@ -288,20 +288,22 @@ namespace senf { \throws senf::SystemException - This variant will write out the string \c data. + This variant will write out the range \c data. - \param[in] data Data to write - \returns number of bytes written + \param[in] range Data to write + \returns past-the-end iterator after last element written \implementation The write() family of members will use POSIX \c write calls, not \c send. */ - unsigned write (std::string const & data); - unsigned write (char const * buffer, unsigned size); + template + typename boost::range_const_iterator::type + write (ForwardReadableRange const & range); + char const * write (char const * start, char const * end); ///< Write data to socket from memory buffer - /**< \param[in] buffer address of buffer to write - \param[in] size amount of data to write - \returns Number of bytes written - \see \ref write() */ + /**< \param[in] start beginning of area to write + \param[in] end past-the-end pointer to area to write + \returns past-the-end pointer after last byte written + \see \ref write() */ /** \brief Write data to unconnected socket @@ -315,20 +317,22 @@ namespace senf { \throw senf::SystemException - This variant will send the string \c data to the peer \c addr. + This variant will send the range \c range to peer \c addr. \param[in] addr Address of peer to send data to - \param[in] data data to send + \param[in] range data to send \returns Number of bytes written */ - unsigned writeto (AddressParam addr, std::string const & data); - unsigned writeto (AddressParam addr, char const * buffer, unsigned size); + template + typename boost::range_const_iterator::type + writeto (AddressParam addr, ForwardReadableRange const & range); + char const * writeto (AddressParam addr, char const * start, char const * end); ///< Write data from memory buffer to unconnected socket /**< \param[in] addr Address of peer to send data to - \param[in] buffer address of buffer to write - \param[in] size amount of data to write - \returns Number of bytes written - \see \ref writeto() */ + \param[in] start address of buffer to write + \param[in] end past-the-end pointer after data to write + \returns past-the-end iterator after last byte written + \see \ref writeto() */ /////////////////////////////////////////////////////////////////////////// ///\name Addressing