I started a list of optional values based on the current set of JIRAs. Of course we might not implement all of these, and we might find some more. However, this is the sort of list we are looking at if we implement everything currently out there. I would prefer to assign the IDs in ranges based on the types. This makes it easier for the parsing code. The current types appear to be a int8, int16, int32, string, and binary where the later two are an int16 len followed by that number of bytes. All of the integer values seem to be unsigned. These values are somewhat spread out across these types, and even the most common type only has seven items. It would be good to settle now on how we assign the values to make it easier to add them as we put the JIRAs into the working draft. As these are in the form id=value I think it would be better to call them fields rather than values as in common usage value is the part not including the id. Type Name Packets uint8 Message format PUBLISH uint8 Max QoS CONNACK uint8 Retain supported CONNACK uint8 Shared subs supported CONNACK uint8 Persistent sessions CONNACK uint8 Will QoS CONNECT uint8 Will Retain CONNECT uint16 Max Inflight CONNECT, CONNACK uint16 Server keepalive CONNACK uint16 Will delay CONNACK, DISCONNECT uint32 Message expire PUBLISH uint32 Session expire CONNACK, DISCONNECT uint32 Correlation PUBLISH uint32 Max message length CONNECT, CONNACK uint32 Mex message rate CONNECT, CONNACK String Username CONNECT String AuthMethod CONNECT, CONNACK String Generated ClientID CONNACK String ReplyTo PUBLISH String Reason string CONNECT, CONNACK, PUBACK, PUBREC, PUBCOMP, SUBACK, UNSUBACK, DISCONNECT String Will topic CONNECT Bytes AuthData CONNECT, CONNACK Bytes Will message CONNECT Bytes User data CONNECT, CONNACK, PUBLISH Ken Borgendale --
kwb@us.ibm.com 1-207-805-6708 1-207-371-8082 Senior Programmer -- IBM MessageSight and Watson IoT Platform - Architect