Why TruthValueTC defines a 'FALSE = 2'

Hi Frank,
As title, is there any consideration for this definiton?
Normally we define FALSE as 0, right?

public class TruthValueTC implements TextualConvention<Integer32> {

  public static final int TRUE = 1;
  public static final int FALSE = 2;


As programmer you might define an integer representation of FALSE with 0, but that is not a convention you can rely on in SNMP!

RFC 2579 (SNMPv2-TC) defines it as quoted above:

Background of this is: The SNMP people avoid 0 for enumerations as a convention, to avoid 0 in row index values (when the enumeration is used as part of an index).

But as you can see this convention does not pay off, because most people without deep SNMP background do not understand it. Making things not explicit and simple to follow/understand wasn’t a good idea in software development for decades :wink:

Get it.
BTW, I didn’t receive email notification from this website as usual so I didn’t get aware of your timely reply.
Is there any issue on email function?

Email function seems to be working for others. Maybe your spam filter is sorting out the emails (or you changed your forum settings)?

It’s OK now.
Thanks Frank.