X-Git-Url: https://gerrit.fd.io/r/gitweb?p=govpp.git;a=blobdiff_plain;f=internal%2Ftestbinapi%2Fbinapi2001%2Fvpe_types%2Fvpe_types.ba.go;fp=internal%2Ftestbinapi%2Fbinapi2001%2Fvpe_types%2Fvpe_types.ba.go;h=140995d6f71dcbe47de4636915c4683fe98d97ea;hp=280005eea8a6375164859da79de1aa7d62fb1677;hb=4102c72bce694babd94a481b1201d33895a6f9c5;hpb=a4112fac7b86fe09650d2bb57969fe46404edd7d diff --git a/internal/testbinapi/binapi2001/vpe_types/vpe_types.ba.go b/internal/testbinapi/binapi2001/vpe_types/vpe_types.ba.go index 280005e..140995d 100644 --- a/internal/testbinapi/binapi2001/vpe_types/vpe_types.ba.go +++ b/internal/testbinapi/binapi2001/vpe_types/vpe_types.ba.go @@ -1,6 +1,6 @@ // 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 @@ -14,8 +14,10 @@ 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 @@ -24,6 +26,12 @@ import ( // 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 @@ -78,6 +86,37 @@ type Timedelta float64 // 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"`