QueueDisc is a base class providing the interface and implementing the operations common to all the queueing disciplines. Child classes need to implement the methods used to enqueue a packet (DoEnqueue), dequeue a single packet (DoDequeue), get a copy of the next packet to extract (DoPeek), plus methods to classify enqueued packets in case they manage multiple queues internally.