创建类时输出的最后两个字节(包装记录的一部分,一部分不是)的含义是什么?
我发出命令“CREATE CLASS Foo EXTENDS V”。这是输出(注释我对协议的理解):
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?
记录本身解码为名为“result”的字段。 result的值是一个整数,编码为varint 84,解码为42.然后有一个0的尾随字节。
42的结果值是什么意思? 尾随0是什么意思?
请注意我使用的是协议版本36。
谢谢!
答案 0 :(得分:0)
CREATE CLASS返回的数字是数据库中的类数。至于最后的0,我不知道。
斯科特