diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/api.go | 4 | ||||
-rw-r--r-- | api/ifcounters/doc.go | 27 |
2 files changed, 28 insertions, 3 deletions
@@ -32,7 +32,7 @@ const ( OtherMessage ) -// Message is an interface that is implemented by all VPP Binary API messages generated by the binapi_generator. +// Message is an interface that is implemented by all VPP Binary API messages generated by the binapi-generator. type Message interface { // GetMessageName returns the original VPP name of the message, as defined in the VPP API. GetMessageName() string @@ -44,7 +44,7 @@ type Message interface { GetCrcString() string } -// DataType is an interface that is implemented by all VPP Binary API data types by the binapi_generator. +// DataType is an interface that is implemented by all VPP Binary API data types by the binapi-generator. type DataType interface { // GetTypeName returns the original VPP name of the data type, as defined in the VPP API. GetTypeName() string diff --git a/api/ifcounters/doc.go b/api/ifcounters/doc.go index c918941..35c7f7b 100644 --- a/api/ifcounters/doc.go +++ b/api/ifcounters/doc.go @@ -1,4 +1,29 @@ // Package ifcounters provides the helper API for decoding VnetInterfaceCounters binary API message // that contains binary-encoded statistics data into the Go structs that are better consumable by the Go code. -// TODO: example usage - currently in the example_client.go +// +// VPP provides two types of interface counters that can be encoded inside of a single VnetInterfaceCounters +// message: simple and combined. For both of them, ifcounters API provides a separate decode function: +// DecodeCounters or DecodeCombinedCounters. The functions return a slice of simple or combined counters respectively: +// +// notifMsg := <-notifChan: +// notif := notifMsg.(*interfaces.VnetInterfaceCounters) +// +// if notif.IsCombined == 0 { +// // simple counter +// counters, err := ifcounters.DecodeCounters(ifcounters.VnetInterfaceCounters(*notif)) +// if err != nil { +// fmt.Println("Error:", err) +// } else { +// fmt.Printf("%+v\n", counters) +// } +// } else { +// // combined counter +// counters, err := ifcounters.DecodeCombinedCounters(ifcounters.VnetInterfaceCounters(*notif)) +// if err != nil { +// fmt.Println("Error:", err) +// } else { +// fmt.Printf("%+v\n", counters) +// } +// } +// package ifcounters |