// Code generated by GoVPP's binapi-generator. DO NOT EDIT.
// versions:
-// binapi-generator: v0.4.0-dev
+// binapi-generator: v0.5.0-dev
// VPP: 20.01
// source: .vppapi/core/vpe_types.api.json
package vpe_types
import (
- api "git.fd.io/govpp.git/api"
"strconv"
+ "time"
+
+ api "git.fd.io/govpp.git/api"
)
// This is a compile-time assertion to ensure that this generated file
// GoVPP api package needs to be updated.
const _ = api.GoVppAPIPackageIsVersion2
+const (
+ APIFile = "vpe_types"
+ APIVersion = ""
+ VersionCrc = 0x3369988d
+)
+
// LogLevel defines enum 'log_level'.
type LogLevel uint32
// Timestamp defines alias 'timestamp'.
type Timestamp float64
+func NewTimestamp(t time.Time) Timestamp {
+ sec := int64(t.Unix())
+ nsec := int32(t.Nanosecond())
+ ns := float64(sec) + float64(nsec/1e9)
+ return Timestamp(ns)
+}
+
+func (x Timestamp) ToTime() time.Time {
+ ns := int64(x * 1e9)
+ sec := ns / 1e9
+ nsec := ns % 1e9
+ return time.Unix(sec, nsec)
+}
+
+func (x Timestamp) String() string {
+ return x.ToTime().String()
+}
+
+func (x *Timestamp) MarshalText() ([]byte, error) {
+ return []byte(x.ToTime().Format(time.RFC3339Nano)), nil
+}
+
+func (x *Timestamp) UnmarshalText(text []byte) error {
+ t, err := time.Parse(time.RFC3339Nano, string(text))
+ if err != nil {
+ return err
+ }
+ *x = NewTimestamp(t)
+ return nil
+}
+
// Version defines type 'version'.
type Version struct {
Major uint32 `binapi:"u32,name=major" json:"major,omitempty"`