X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FClientSocketHandle.hh;h=93cd2521017ac1a73558a9fa918db6c18645b7e2;hb=6f50bf49e282c0528f51faa0a245bbfa2b867399;hp=2c951b770d6bfd2a4cc2de198d5b8b3ec16d9e34;hpb=877a8581c1390266b253a599c794fcb25abb0f6c;p=senf.git diff --git a/Socket/ClientSocketHandle.hh b/Socket/ClientSocketHandle.hh index 2c951b7..93cd252 100644 --- a/Socket/ClientSocketHandle.hh +++ b/Socket/ClientSocketHandle.hh @@ -1,9 +1,9 @@ // $Id$ // // Copyright (C) 2006 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Stefan Bund +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Stefan Bund // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -63,8 +63,6 @@ namespace senf { bind() AddressingPolicy::bind (\ref senf::AddressingPolicyBase) peer() AddressingPolicy::peer (\ref senf::AddressingPolicyBase) local() AddressingPolicy::local (\ref senf::AddressingPolicyBase) - rcvbuf() BufferingPolicy::sndbuf (\ref senf::BufferingPolicyBase) - sndbuf() BufferingPolicy::rcvbuf (\ref senf::BufferingPolicyBase) It is important to note, that not all members are always accessible. Which are depends on @@ -123,13 +121,22 @@ namespace senf { ClientSocketHandle(); // conversion constructors +# ifndef DOXYGEN template ClientSocketHandle(ClientSocketHandle other, typename SocketHandle::template IsCompatible::type * = 0); +# else + ClientSocketHandle(ClientSocketHandle other); +# endif +# ifndef DOXYGEN template typename SocketHandle::template IsCompatible::type const & operator=(ClientSocketHandle other); +# else + template + OtherPolicy const & operator=(ClientSocketHandle other); +# endif ///@} /////////////////////////////////////////////////////////////////////////// @@ -170,9 +177,13 @@ namespace senf { */ std::string read (unsigned limit=0); template +# ifndef DOXYGEN typename boost::range_iterator::type read (ForwardWritableRange const & range, typename boost::disable_if< boost::is_convertible >::type * = 0); +# else + typename boost::range_iterator::type + read (ForwardWritableRange const & range); ///< Read data into range /**< Read data into the given range. At most boost::size(range) characters are read. The @@ -185,14 +196,21 @@ namespace senf { last read character \see \ref read() \n Boost.Range */ +# endif +# ifndef DOXYGEN template typename boost::range_iterator::type read (ForwardWritableRange & range, typename boost::disable_if< boost::is_convertible >::type * = 0); +# else + template + typename boost::range_iterator::type + read (ForwardWritableRange & range); ///< Read data into range /**< \see read(ForwardWritableRange const &) \n read() \n Boost.Range */ +# endif template void read (Sequence & container, unsigned limit); ///< Read data into container @@ -402,24 +420,6 @@ namespace senf { ///@} - /////////////////////////////////////////////////////////////////////////// - ///\name Buffering - ///@{ - - unsigned rcvbuf (); ///< Check size of receive buffer - /**< \returns size of receive buffer in bytes */ - void rcvbuf (unsigned size); - ///< Set size of receive buffer - /**< \param[in] size size of receive buffer in bytes */ - - unsigned sndbuf (); ///< Check size of send buffer - /**< \returns size of send buffer in bytes */ - void sndbuf (unsigned size); - ///< Set size of send buffer - /**< \param[in] size size of send buffer in bytes */ - - ///@} - static ClientSocketHandle cast_static(FileHandle handle); static ClientSocketHandle cast_dynamic(FileHandle handle); @@ -429,8 +429,7 @@ namespace senf { protected: ClientSocketHandle(FileHandle other, bool isChecked); - explicit ClientSocketHandle(std::auto_ptr protocol, - int fd = -1); + explicit ClientSocketHandle(std::auto_ptr body); private: unsigned available();