Was bedeuten die letzten zwei Bytes der Ausgabe (ein Teil des umgebrochenen Datensatzes, einer nicht) beim Erstellen einer Klasse?OrientDB Network Binary Protocol - Was wird beim Erstellen einer CLASS zurückgegeben?
Ich gab den Befehl "CREATE CLASS Foo EXTENDS V". Dies ist der Ausgang (kommentierte mit meinem Verständnis des Protokolls):
Writing byte (1 byte): 0 [OChannelBinaryServer] # success
Writing int (4 bytes): 43 [OChannelBinaryServer] # session id 43
Writing byte (1 byte): 119 [OChannelBinaryServer] # w - this is a wrapped record
Writing short (2 bytes): 0 [OChannelBinaryServer] # this is a full record
Writing byte (1 byte): 100 [OChannelBinaryServer] # d - record is a document
Writing short (2 bytes): -1 [OChannelBinaryServer] # cluster id null
Writing long (8 bytes): -1 [OChannelBinaryServer] # cluster position null
Writing int (4 bytes): 0 [OChannelBinaryServer] # version 0
Writing bytes (4+16=20 bytes): [0, 0, 12, 114, 101, 115, 117, 108, 116, 0, 0, 0,
15, 1, 0, 84] [OChannelBinaryServer] # the record, what is 84?
Writing byte (1 byte): 0 [OChannelBinaryServer] # what is this?
Der Datensatz selbst dekodiert auf ein Feld mit dem Namen „Ergebnis“. Der Wert von result ist eine Ganzzahl, codiert als eine Varint 84, die zu 42 decodiert. Dann gibt es ein nachkommendes Byte von 0.
Was bedeutet der Ergebniswert von 42? Was bedeutet die abschließende 0?
Bitte beachten Sie, dass ich auf der Protokollversion bin 36.
Dank!