[roll] Roll fuchsia [udp] Migrate to stable decode API It turns out we can migrate to the stable API without breaking ABI. The deserializer passes fidl::internal::WireFormatMetadataForVersion(fidl::internal::WireFormatVersion::kV2) as the wire format metadata, because currently the serializer does not write them. Later, we can migrate to an evolvable ABI by soft-transitioning the udp_serde protocol using the udp_serde version number, at which point we can parse out the FIDL wire format metadata using: fidl::WireFormatMetadata::FromOpaque(opaque); Where |opaque| is an uint64 obtained from the `wire_format_metadata()` field of the encoding result object at sending time. Performance: the new encoding API is a little bit slower. The new decoding API is a little bit faster. Overall they sort of evens out: RecvMsgMeta/Deserialize/IPv4/Empty faster 0.847-0.878 111.7 +/- 1.7 ns 96.34 +/- 0.25 ns RecvMsgMeta/Deserialize/IPv4/Full faster 0.902-0.942 220.8 +/- 4.1 ns 203.43 +/- 0.58 ns RecvMsgMeta/Deserialize/IPv6/Empty faster 0.848-0.875 112.1 +/- 1.5 ns 96.57 +/- 0.28 ns RecvMsgMeta/Deserialize/IPv6/Full faster 0.932-0.944 232.29 +/- 0.98 ns 217.91 +/- 0.41 ns RecvMsgMeta/Serialize/IPv4/Empty slower 1.017-1.026 357.41 +/- 0.37 ns 365.1 +/- 1.2 ns RecvMsgMeta/Serialize/IPv4/Full slower 1.012-1.021 473.47 +/- 0.78 ns 481.3 +/- 1.4 ns RecvMsgMeta/Serialize/IPv6/Empty slower 1.011-1.025 359.5 +/- 1.8 ns 365.98 +/- 0.55 ns RecvMsgMeta/Serialize/IPv6/Full slower 1.014-1.026 492.6 +/- 1.3 ns 502.4 +/- 1.4 ns RecvMsgMeta/SerializeThenDeserialize/IPv6/Empty faster 0.991-0.999 455.02 +/- 0.52 ns 452.7 +/- 1.2 ns RecvMsgMeta/SerializeThenDeserialize/IPv6/Full faster 0.987-0.998 734.8 +/- 2.0 ns 729.2 +/- 1.9 ns SendMsgMeta/Deserialize/IPv4/Empty faster 0.863-0.872 85.10 +/- 0.38 ns 73.798 +/- 0.070 ns SendMsgMeta/Deserialize/IPv4/Full faster 0.917-0.931 188.8 +/- 1.3 ns 174.47 +/- 0.18 ns SendMsgMeta/Deserialize/IPv6/Empty faster 0.863-0.873 84.97 +/- 0.33 ns 73.76 +/- 0.15 ns SendMsgMeta/Deserialize/IPv6/Full faster 0.909-0.942 205.9 +/- 2.9 ns 190.50 +/- 0.72 ns SendMsgMeta/Serialize/IPv4/Full slower 1.001-1.012 352.6 +/- 1.1 ns 354.92 +/- 0.71 ns SendMsgMeta/Serialize/IPv6/Full slower 1.002-1.018 364.3 +/- 1.3 ns 367.9 +/- 1.6 ns SendMsgMeta/SerializeThenDeserialize/IPv4/Empty faster 0.960-0.970 333.48 +/- 0.41 ns 321.8 +/- 1.4 ns SendMsgMeta/SerializeThenDeserialize/IPv4/Full faster 0.973-0.982 535.72 +/- 0.67 ns 523.5 +/- 1.7 ns SendMsgMeta/SerializeThenDeserialize/IPv6/Empty faster 0.953-0.979 335.8 +/- 3.5 ns 324.3 +/- 1.1 ns SendMsgMeta/SerializeThenDeserialize/IPv6/Full faster 0.940-1.000 580 +/- 17 ns 561.8 +/- 1.2 ns Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/756833 Original-Revision: 5fdd067e87658d6738f004f6db1cd35d023f899b GitOrigin-RevId: 7fa95b8b5df3506517c28dda18981406dd5db730 Change-Id: I6820d6afda9128f7f7aad825b81acd2e914633ac
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.