// 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 }