Socket/Protocols/INet: BUGFIX: Fix SOL_IP to SOL_IPV6 in INet6MulticastSocketProtocol
[senf.git] / Socket / Protocols / INet / MulticastSocketProtocol.hh
index 1925757..e8249ce 100644 (file)
@@ -39,18 +39,20 @@ namespace senf {
     ///\addtogroup protocol_facets_group
     ///\{
    
+    /** \brief Generic addressing type independent multicast protocol facet
+     */
     class MulticastSocketProtocol 
         : public virtual SocketProtocol
     {
     public:
-        void broadcastEnabled(bool v);  ///< Enable broadcast send/receive
+        void broadcastEnabled(bool v) const; ///< Enable broadcast send/receive
                                         /**< If this option is enabled, broadcast UDP messages will
                                              be received on the socket and the socket will be
                                              allowed to send out broadcast UDP messages
                                              \param[in] v \c true to enable broadcast send/receive,
                                                  \c false to disable */
 
-        bool broadcastEnabled();        ///< Get broadcast send/receive state
+        bool broadcastEnabled() const;  ///< Get broadcast send/receive state
                                         /**< \returns Current state of the broadcastEnabled()
                                              option. */
 
@@ -58,8 +60,9 @@ namespace senf {
         unsigned mcTTL() const;         ///< Return current multicast TTL
         void mcTTL(unsigned value) const; ///< Set multicast TTL
 
-        bool mcLoop() const;            ///< Return current multicast loopback state
+        bool mcLoop() const;            ///< Return current multicast loopback state. 
         void mcLoop(bool value) const;  ///< Set multicast loopback state
+        /**< If set to false via \c mcLoop(value) multicast messages will not be looped back  to local sockets. Default value is \c true (1).   */
 
         void mcIface(std::string const & iface = std::string()) const;
                                         ///< Set multicast send interface of the socket
@@ -67,8 +70,10 @@ namespace senf {
                                              data from */
     };
 
+    /** \brief Multicast protocol facet for INet4 addressable multicast enabled sockets
+     */
     class INet4MulticastSocketProtocol
-        : public virtual SocketProtocol
+        : public MulticastSocketProtocol
     {
     public:
         void mcAddMembership(INet4Address const & mcAddr) const;
@@ -122,8 +127,10 @@ namespace senf {
                                              \param[in] iface interface name */
     };
 
+    /** \brief Multicast protocol facet for INet6 addressable multicast enabled sockets
+     */
     class INet6MulticastSocketProtocol
-        : public virtual SocketProtocol
+        : public MulticastSocketProtocol
     {
     public:
         void mcAddMembership(INet6Address const & mcAddr) const;
@@ -170,8 +177,7 @@ namespace senf {
                                              multicast groups received. The group is left from the
                                              interface with the given local address.
                                              \param[in] mcAddr address of group to leave
-                                             \param[in] localAddr address of interface to leave
-                                                 from */
+                                             \param[in] iface interface name */
     };
 
     ///\}