| khenaidoo | a46458b | 2021-12-15 16:50:44 -0500 | [diff] [blame] | 1 | package internal |
| 2 | |
| 3 | import ( |
| khenaidoo | a46458b | 2021-12-15 16:50:44 -0500 | [diff] [blame] | 4 | "github.com/golang/protobuf/proto" |
| 5 | ) |
| 6 | |
| khenaidoo | a46458b | 2021-12-15 16:50:44 -0500 | [diff] [blame] | 7 | // GetUnrecognized fetches the bytes of unrecognized fields for the given message. |
| 8 | func GetUnrecognized(msg proto.Message) []byte { |
| Abhay Kumar | a2ae599 | 2025-11-10 14:02:24 +0000 | [diff] [blame^] | 9 | return proto.MessageReflect(msg).GetUnknown() |
| khenaidoo | a46458b | 2021-12-15 16:50:44 -0500 | [diff] [blame] | 10 | } |
| 11 | |
| 12 | // SetUnrecognized adds the given bytes to the unrecognized fields for the given message. |
| 13 | func SetUnrecognized(msg proto.Message, data []byte) { |
| Abhay Kumar | a2ae599 | 2025-11-10 14:02:24 +0000 | [diff] [blame^] | 14 | refl := proto.MessageReflect(msg) |
| 15 | existing := refl.GetUnknown() |
| khenaidoo | a46458b | 2021-12-15 16:50:44 -0500 | [diff] [blame] | 16 | if len(existing) > 0 { |
| 17 | data = append(existing, data...) |
| 18 | } |
| Abhay Kumar | a2ae599 | 2025-11-10 14:02:24 +0000 | [diff] [blame^] | 19 | refl.SetUnknown(data) |
| khenaidoo | a46458b | 2021-12-15 16:50:44 -0500 | [diff] [blame] | 20 | } |