- var value = make([]byte, lenValue)
- if err := binary.Read(r, binary.BigEndian, &value); err != nil {
- return nil, err
+ var data = &mt.NodeMeta{}
+ data.Fields = make([]mt.NodeMetaField, 0)
+ for j := uint32(0); j < num; j++ {
+ var field mt.NodeMetaField
+
+ var lenName uint16
+ if err := binary.Read(r, binary.BigEndian, &lenName); err != nil {
+ panic(err)
+ }
+
+ var name = make([]byte, lenName)
+ if err := binary.Read(r, binary.BigEndian, &name); err != nil {
+ panic(err)
+ }
+ field.Name = string(name)
+
+ var lenValue uint32
+ if err := binary.Read(r, binary.BigEndian, &lenValue); err != nil {
+ panic(err)
+ }
+
+ var value = make([]byte, lenValue)
+ if err := binary.Read(r, binary.BigEndian, &value); err != nil {
+ panic(err)
+ }
+ field.Value = string(value)
+
+ if err := binary.Read(r, binary.BigEndian, &field.Private); err != nil {
+ panic(err)
+ }
+
+ data.Fields = append(data.Fields, field)