X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FSocketPolicy.hh;h=e4cf253741eb77f33647f2f17ef3f8c50c97e6f2;hb=171b7d9c23896219fc63a6c4a75fc86dfd4bb042;hp=5d48e6da070b1dc5cef02e16fa4e2e9bfdce51c8;hpb=49f2e00bdc4014b34361a0830e7ec365844ee67a;p=senf.git diff --git a/Socket/SocketPolicy.hh b/Socket/SocketPolicy.hh index 5d48e6d..e4cf253 100644 --- a/Socket/SocketPolicy.hh +++ b/Socket/SocketPolicy.hh @@ -38,8 +38,19 @@ /** \defgroup policy_group The Policy Framework - \image html SocketPolicy.png - + \htmlonly + + SocketPolicy + BufferingPolicyBase + WritePolicyBase + ReadPolicyBase + CommunicationPolicyBase + FramingPolicyBase + AddressingPolicyBase + + Socket Policy + \endhtmlonly + \section policy_group_introduction Introduction to the Policy Framework The policy framework conceptually implements a list of parallel inheritance hierarchies each @@ -243,8 +254,6 @@ // Custom includes -#include "GenericSockAddr.hh" - //#include "SocketPolicy.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -298,7 +307,7 @@ namespace senf { { virtual ~AddressingPolicyBase() {} - typedef GenericSockAddr Address; + class Address { Address(); }; }; /** \brief Policy defining the framing format @@ -323,13 +332,12 @@ namespace senf { +
method void listen(FileHandle, unsigned backlog) Switch socket into listening state
method int accept(FileHandle, Address &) Accept a new connection
method int accept(FileHandle) Accept a new connection
The \c listen member is straight forward. The \c accept() member must return a new file descriptor (which will be used to create a new SocketHandle of the correct - type). Additionally, accept() should only be defined, if the Addressing policy is not \c - NoAddressingPolicy (which together with ConnectedCommunicationPolicy would identify a - point-to-point link with fixed communication partners). + type). \note This Policy only has two meaningful states: ConnectedCommunicationPolicy and UnconnectedCommunicationPolicy. It is probably not sensible to define a new @@ -352,7 +360,7 @@ namespace senf { The second member should only be enabled if the communication policy is - UnconnectedCommunication (otherwise it does not make sense since the communication partner + UnconnectedCommunicationPolicy (otherwise it does not make sense since the communication partner is fixed) (see AddressingPolicyBase on how to do this). \note This Policy only has two meaningful states: ReadablePolicy and NotReadablePolicy. It @@ -375,7 +383,7 @@ namespace senf { The second member should only be enabled if the communication policy is - UnconnectedCommunication (otherwise it does not make sense since the communication partner + UnconnectedCommunicationPolicy (otherwise it does not make sense since the communication partner is fixed) (see AddressingPolicyBase on how to do this). \note This Policy only has two meaningful states: WritablePolicy and NotWritablePolicy. It @@ -557,4 +565,6 @@ namespace senf { // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: