X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FSocketPolicy.hh;h=6ef298149ccb7ce657f3eef5993829e0523d1d93;hb=983ae64545d03ca24e7c5cb2c9ed2749435844eb;hp=be96da217a891f94528ff2430d6baf77bc99140b;hpb=85ab07d100a382467a42e19d741d403a7a96c951;p=senf.git
diff --git a/Socket/SocketPolicy.hh b/Socket/SocketPolicy.hh
index be96da2..6ef2981 100644
--- a/Socket/SocketPolicy.hh
+++ b/Socket/SocketPolicy.hh
@@ -76,14 +76,18 @@
configures, if and how buffering is configured for a socket
- Every Policy value is identified by a class type. The policy
- classes themselves built an inheritance hierarchy for each policy
- axis. For each policy axis, the root of this tree is the class
- named \e Policy \c Base (e.g. \p AddressingPolicyBase).
-
- The senf::SocketPolicy defines the complete policy of a socket. It
+ In a concrete policy, each of these policy axis is assigned a value,
+ the policy value. This value is identified by a class type. For example,
+ possible values for framingPolicy are DatagramFramingPolicy
+ or StreamFramingPolicy which are classes derived from the axis
+ base class FramingPolicyBase. This base class doubles as
+ UnspecifiedFramingPolicy (which is just a typedef alias).
+ If a policy axis is assigned this Unspecified type, the axis is left
+ unspecified, the policy will be incomplete.
+
+ The senf::SocketPolicy tempalte defines the complete policy of a socket. It
combines a set of policy classes, one for each policy
- axis. Together, they define the behavior of a socket handle. The
+ axis as described above. Together, they define the behavior of a socket handle. The
socket handle instances do not implement any socket functionality
themselves instead defering the implementation to the policy
classes. The SocketHandle interface is therefore \e not
@@ -100,8 +104,13 @@
compatible. If they are, the more derived SocketHandle can be
converted (assigned to) the more basic SocketHandle.
+ \doc Example (concrete policy, incomplete policy, compatibility/assignment)
+
\section policy_group_details The Policy Framework Classes
+ \doc Policy should be Axis here. Make clear, that this information is only
+ needed when extending the library.
+
In the following discussion we will use the following conventions:
\li \e Policy is one or \c AddressingPolicy, \c FramingPolicy, \c
CommunicationPolicy, \c ReadPolicy, \c WritePolicy or \c