cFosSpeed has two built-in traffic classes: "default" and "drop". All traffic that isn't matched by anything else goes to "default". Its implicit priority is 0.
You can use "drop" to delete a packet and don't send it at all. This allows you to do your own little firewalling with it (only for outbound traffic). "Drop" has no priority.
Used to order classes, "priority" is entered as an integer. To avoid confusion, no two classes should be assigned the same priority value. Packets of a traffic class with higher priority are sent prior to packets belonging to a traffic class with lower priority.
"Priority" is usually a positive value for regular classes. However, you can specify "low prio" classes with a negative priority value. Packets in low prio classes are only sent out if there is no high and no default class traffic ready for transmission.
This concept is exactly the opposite of high prio class. With high prio classes, you can mark specific packets to be sent out in front of other data. With low prio classes, you can mark specific packets to be sent out after other data. Beware that specifying rules for low classes can easily lead to "starving" connections, because all other data would then take precedence.
In addition, all traffic classes can be assigned a speed setting. The speed setting determines up to how many bytes/second the class priority will remain in effect. Beyond that, packets are treated as being in the default class. That way, for instance, you could prioritize traffic, but only if it does not exceed, say, 1000 bytes/second. Once that speed is exceeded, the traffic would not be prioritized any more.
The speed settings can done in percent as well, where 100% denotes the total speed of the connection. Specifying "-speed 20%" and "-speed 20perc" means the same. Speed settings of low classes must have a priority value that is used in case the speed is exceeded. It looks like this: "-speed 20%,-10".
As an example take the setting "-prio 0 -speed 20%,-10". Traffic in this class is sent out with priority 0 (i.e., default) if it's slower than 20% of the maximum speed and with priority -10 otherwise.
cFosSpeed comes preconfigured with five different traffic classes (in addition to the two built-in classes):