
Changes: https://github.com/containerd/typeurl/compare/7f6e6d160d67...v2.1.0 Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
56 lines
1.6 KiB
Go
56 lines
1.6 KiB
Go
// Code generated by protoc-gen-go-fieldpath. DO NOT EDIT.
|
|
// source: github.com/containerd/containerd/api/services/ttrpc/events/v1/events.proto
|
|
package events
|
|
|
|
import (
|
|
v2 "github.com/containerd/typeurl/v2"
|
|
)
|
|
|
|
// Field returns the value for the given fieldpath as a string, if defined.
|
|
// If the value is not defined, the second value will be false.
|
|
func (m *ForwardRequest) Field(fieldpath []string) (string, bool) {
|
|
if len(fieldpath) == 0 {
|
|
return "", false
|
|
}
|
|
switch fieldpath[0] {
|
|
case "envelope":
|
|
// NOTE(stevvooe): This is probably not correct in many cases.
|
|
// We assume that the target message also implements the Field
|
|
// method, which isn't likely true in a lot of cases.
|
|
//
|
|
// If you have a broken build and have found this comment,
|
|
// you may be closer to a solution.
|
|
if m.Envelope == nil {
|
|
return "", false
|
|
}
|
|
return m.Envelope.Field(fieldpath[1:])
|
|
}
|
|
return "", false
|
|
}
|
|
|
|
// Field returns the value for the given fieldpath as a string, if defined.
|
|
// If the value is not defined, the second value will be false.
|
|
func (m *Envelope) Field(fieldpath []string) (string, bool) {
|
|
if len(fieldpath) == 0 {
|
|
return "", false
|
|
}
|
|
switch fieldpath[0] {
|
|
// unhandled: timestamp
|
|
case "namespace":
|
|
return string(m.Namespace), len(m.Namespace) > 0
|
|
case "topic":
|
|
return string(m.Topic), len(m.Topic) > 0
|
|
case "event":
|
|
decoded, err := v2.UnmarshalAny(m.Event)
|
|
if err != nil {
|
|
return "", false
|
|
}
|
|
adaptor, ok := decoded.(interface{ Field([]string) (string, bool) })
|
|
if !ok {
|
|
return "", false
|
|
}
|
|
return adaptor.Field(fieldpath[1:])
|
|
}
|
|
return "", false
|
|
}
|