Finished ClientSocketHandle documentation
[senf.git] / Socket / SocketPolicy.hh
index 297a469..708f18a 100644 (file)
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 /** \file
-    \brief SocketPolicy public header
+    \brief Policy Framework public header
 
     \todo We should probably remove BufferingPolicy from the
-    interface, it does not make much sense (how did I come to include
-    it ??)
+       interface, it does not make much sense (how did I come to
+       include it ??)
     
     \todo Do we want to support separate read and write policies. This
-    allows to treat pipes within this framework however, is this worth
-    the effort?
+       allows to treat pipes within this framework however, is this
+       worth the effort?
+
+    \idea Creating a new Socket will create three new instances (The
+       handle, the body and the policy) of which two (body and
+       policy) live on the heap. This is expensive. We should check,
+       wether we can make all the policy classes to singletons and
+       assign the same instance to all socket bodies with the same
+       policy. This would reduce the number of allocations per socket
+       handle to one.
  */
 
 /** \defgroup policy_group The Policy Framework
     senf::ConnectedCommunicationPolicyIs is based on the \c
     boost::enable_if template).
 
-    \see \ref policy_framework \n
-        \ref extend_policy \n
+    \see \ref extend_policy \n
          <a class="ext" href="http://www.boost.org/libs/utility/enable_if.html">The Boost enable_if utility</a> \n
          <a class="ext" href="http://www.boost.org/libs/mpl/doc/index.html">The Boost.MPL library</a> \n
          <a class="ext" href="http://www.boost.org/libs/preprocessor/doc/index.html">The Boost.Preprocessor library</a>