src/internet/model/tcp-socket.h
changeset 10405 45c8fceae24e
parent 7619 b4dee6307aa7
child 10855 7ef081ddfc7f
--- a/src/internet/model/tcp-socket.h	Thu Nov 14 19:07:55 2013 +0100
+++ b/src/internet/model/tcp-socket.h	Thu Nov 14 22:43:53 2013 +0100
@@ -35,7 +35,9 @@
 class Node;
 class Packet;
 
-/* Names of the 11 TCP states */
+/**
+ * \brief Names of the 11 TCP states
+ */
 typedef enum {
   CLOSED,       // 0
   LISTEN,       // 1
@@ -62,37 +64,164 @@
 class TcpSocket : public Socket
 {
 public:
+  /**
+   * Get the type ID.
+   * \brief Get the type ID.
+   * \return the object TypeId
+   */
   static TypeId GetTypeId (void);
  
   TcpSocket (void);
   virtual ~TcpSocket (void);
 
-  // Literal names of TCP states for use in log messages */
+  /**
+   * \brief Literal names of TCP states for use in log messages
+   */
   static const char* const TcpStateName[LAST_STATE];
 
 private:
   // Indirect the attribute setting and getting through private virtual methods
+
+  /**
+   * \brief Set the send buffer size.
+   * \param size the buffer size (in bytes)
+   */
   virtual void SetSndBufSize (uint32_t size) = 0;
+
+  /**
+   * \brief Get the send buffer size.
+   * \returns the buffer size (in bytes)
+   */
   virtual uint32_t GetSndBufSize (void) const = 0;
+
+  /**
+   * \brief Set the receive buffer size.
+   * \param size the buffer size (in bytes)
+   */
   virtual void SetRcvBufSize (uint32_t size) = 0;
+
+  /**
+   * \brief Get the receive buffer size.
+   * \returns the buffer size (in bytes)
+   */
   virtual uint32_t GetRcvBufSize (void) const = 0;
+
+  /**
+   * \brief Set the segment size.
+   * \param size the segment size (in bytes)
+   */
   virtual void SetSegSize (uint32_t size) = 0;
+
+  /**
+   * \brief Get the segment size.
+   * \returns the segment size (in bytes)
+   */
   virtual uint32_t GetSegSize (void) const = 0;
+
+  /**
+   * \brief Set the Slow Start Threshold.
+   * \param threshold the Slow Start Threshold (in bytes)
+   */
   virtual void SetSSThresh (uint32_t threshold) = 0;
+
+  /**
+   * \brief Get the Slow Start Threshold.
+   * \returns the Slow Start Threshold (in bytes)
+   */
   virtual uint32_t GetSSThresh (void) const = 0;
-  virtual void SetInitialCwnd (uint32_t count) = 0;
+
+  /**
+   * \brief Set the initial Congestion Window.
+   * \param cwnd the initial congestion window (in bytes)
+   */
+  virtual void SetInitialCwnd (uint32_t cwnd) = 0;
+
+  /**
+   * \brief Get the initial Congestion Window.
+   * \returns the initial congestion window (in bytes)
+   */
   virtual uint32_t GetInitialCwnd (void) const = 0;
+
+  /**
+   * \brief Set the connection timeout.
+   * \param timeout the connection timeout
+   */
   virtual void SetConnTimeout (Time timeout) = 0;
+
+  /**
+   * \brief Get the connection timeout.
+   * \returns the connection timeout
+   */
   virtual Time GetConnTimeout (void) const = 0;
+
+  /**
+   * \brief Set the number of connection retries before giving up.
+   * \param count the number of connection retries
+   */
   virtual void SetConnCount (uint32_t count) = 0;
+
+  /**
+   * \brief Get the number of connection retries before giving up.
+   * \returns the number of connection retries
+   */
   virtual uint32_t GetConnCount (void) const = 0;
+
+  /**
+   * \brief Set the time to delay an ACK.
+   * \param timeout the time to delay an ACK
+   */
   virtual void SetDelAckTimeout (Time timeout) = 0;
+
+  /**
+   * \brief Get the time to delay an ACK.
+   * \returns the time to delay an ACK
+   */
   virtual Time GetDelAckTimeout (void) const = 0;
+
+  /**
+   * \brief Set the number of packet to fire an ACK before delay timeout.
+   * \param count the umber of packet to fire an ACK before delay timeout
+   */
   virtual void SetDelAckMaxCount (uint32_t count) = 0;
+
+  /**
+   * \brief Get the number of packet to fire an ACK before delay timeout.
+   * \returns the number of packet to fire an ACK before delay timeout
+   */
   virtual uint32_t GetDelAckMaxCount (void) const = 0;
+
+  /**
+   * \brief Enable/Disable Nagle's algorithm.
+   * \param noDelay true to DISABLE Nagle's algorithm
+   */
   virtual void SetTcpNoDelay (bool noDelay) = 0;
+
+  /**
+   * \brief Check if Nagle's algorithm is enabled or not.
+   * \returns true if Nagle's algorithm is DISABLED
+   */
   virtual bool GetTcpNoDelay (void) const = 0;
+
+  /**
+   * \brief Set the timout for persistent connection
+   *
+   * When the timout expires, send 1-byte data to probe for the window
+   * size at the receiver when the local knowledge tells that the
+   * receiver has zero window size
+   *
+   * \param timeout the persistent timout
+   */
   virtual void SetPersistTimeout (Time timeout) = 0;
+
+  /**
+   * \brief Get the timout for persistent connection
+   *
+   * When the timout expires, send 1-byte data to probe for the window
+   * size at the receiver when the local knowledge tells that the
+   * receiver has zero window size
+   *
+   * \returns the persistent timout
+   */
   virtual Time GetPersistTimeout (void) const = 0;
 
 };