diff --git a/daemon/face/udp-channel.hpp b/daemon/face/udp-channel.hpp
index f4f53da..e594f64 100644
--- a/daemon/face/udp-channel.hpp
+++ b/daemon/face/udp-channel.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2023,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -34,17 +34,16 @@
 namespace nfd::face {
 
 /**
- * \brief Class implementing UDP-based channel to create faces
+ * \brief Class implementing a UDP-based channel to create faces.
  */
 class UdpChannel final : public Channel
 {
 public:
   /**
-   * \brief Create a UDP channel on the given \p localEndpoint
+   * \brief Create a UDP channel on the given \p localEndpoint.
    *
-   * To enable creation of faces upon incoming connections,
-   * one needs to explicitly call UdpChannel::listen method.
-   * The created socket is bound to \p localEndpoint.
+   * To enable the creation of faces upon incoming connections, one needs to
+   * explicitly call listen(). The created socket is bound to \p localEndpoint.
    */
   UdpChannel(const udp::Endpoint& localEndpoint,
              time::nanoseconds idleTimeout,
@@ -64,7 +63,7 @@
   }
 
   /**
-   * \brief Create a unicast UDP face toward \p remoteEndpoint
+   * \brief Create a unicast UDP face toward \p remoteEndpoint.
    */
   void
   connect(const udp::Endpoint& remoteEndpoint,
@@ -73,7 +72,7 @@
           const FaceCreationFailedCallback& onConnectFailed);
 
   /**
-   * \brief Start listening
+   * \brief Start listening.
    *
    * Enable listening on the local endpoint, waiting for incoming datagrams,
    * and creating a face when a datagram is received from a new remote host.
@@ -94,7 +93,7 @@
 
   /**
    * \brief The channel has received a packet from a remote
-   *        endpoint not associated with any UDP face yet
+   *        endpoint not associated with any UDP face yet.
    */
   void
   handleNewPeer(const boost::system::error_code& error,
@@ -113,7 +112,7 @@
   std::array<uint8_t, ndn::MAX_NDN_PACKET_SIZE> m_receiveBuffer;
   std::map<udp::Endpoint, shared_ptr<Face>> m_channelFaces;
   const time::nanoseconds m_idleFaceTimeout; ///< Timeout for automatic closure of idle on-demand faces
-  bool m_wantCongestionMarking;
+  const bool m_wantCongestionMarking;
 };
 
 } // namespace nfd::face
