5 // Package represents collection of objects parsed from VPP binary API JSON data
15 RefMap map[string]string
18 // Service represents VPP binary API service
27 // Enum represents VPP binary API enum
34 // EnumEntry represents VPP binary API enum entry
35 type EnumEntry struct {
40 // Alias represents VPP binary API alias
47 // Type represents VPP binary API type
54 // Field represents VPP binary API object field
63 // FieldMeta represents VPP binary API meta info for field
64 type FieldMeta struct {
68 // Union represents VPP binary API union
75 // Message represents VPP binary API message
82 // MessageType represents the type of a VPP message
86 requestMessage MessageType = iota // VPP request message
87 replyMessage // VPP reply message
88 eventMessage // VPP event message
89 otherMessage // other VPP message
92 // printPackage prints all loaded objects for package
93 func printPackage(pkg *Package) {
94 if len(pkg.Enums) > 0 {
95 logf("loaded %d enums:", len(pkg.Enums))
96 for k, enum := range pkg.Enums {
97 logf(" - enum #%d\t%+v", k, enum)
100 if len(pkg.Unions) > 0 {
101 logf("loaded %d unions:", len(pkg.Unions))
102 for k, union := range pkg.Unions {
103 logf(" - union #%d\t%+v", k, union)
106 if len(pkg.Types) > 0 {
107 logf("loaded %d types:", len(pkg.Types))
108 for _, typ := range pkg.Types {
109 logf(" - type: %q (%d fields)", typ.Name, len(typ.Fields))
112 if len(pkg.Messages) > 0 {
113 logf("loaded %d messages:", len(pkg.Messages))
114 for _, msg := range pkg.Messages {
115 logf(" - message: %q (%d fields)", msg.Name, len(msg.Fields))
118 if len(pkg.Services) > 0 {
119 logf("loaded %d services:", len(pkg.Services))
120 for _, svc := range pkg.Services {
124 } else if len(svc.Events) > 0 {
125 info = fmt.Sprintf("(EVENTS: %v)", svc.Events)
127 logf(" - service: %s - %q -> %q %s", svc.Name, svc.RequestType, svc.ReplyType, info)