title: Why does the dscp value get shifted left by 2 bits when setting the traffic class of a datagram socket?
body: <p>I'm looking at some code that creates io.vertx.core.DatagramSocket objects like so:</p>
  <pre><code>DatagramSocket s = context.getVertx()
                  .createDatagramSocket(new DatagramSocketOptions()
                          .setReceiveBufferSize(recvBufferSize).setSendBufferSize(sendBufferSize).setTrafficClass(dscp &lt;&lt; 2));
  </code></pre>
  <p>Here the dscp value is 24 for DSCP CS3. Why does the integer value get shifted left by 2 bits?</p>
  <p>If I create a java.net.DatagramSocket like this:</p>
  <pre><code>DatagramSocket so = new DatagramSocket(iReceivePort, config.getHostInetAddress());
  so.setTrafficClass(24);
  </code></pre>
  <p>Do I need to shift the 24 integer value left by 2 bits?</p>