veil-api 0.8.2__tar.gz → 0.8.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. {veil_api-0.8.2 → veil_api-0.8.3}/Cargo.lock +7 -6
  2. {veil_api-0.8.2 → veil_api-0.8.3}/Cargo.toml +10 -7
  3. veil_api-0.8.3/PKG-INFO +130 -0
  4. {veil_api-0.8.2 → veil_api-0.8.3}/README.crates-io.md +3 -11
  5. veil_api-0.8.3/README.md +106 -0
  6. {veil_api-0.8.2 → veil_api-0.8.3}/build.rs +6 -43
  7. {veil_api-0.8.2 → veil_api-0.8.3}/crates/README.crates-io.md +3 -11
  8. veil_api-0.8.3/crates/veil-macros/src/lib.rs +78 -0
  9. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/main_attr.rs +1 -1
  10. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/route.rs +3 -3
  11. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/schema.rs +6 -6
  12. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/util.rs +8 -8
  13. veil_api-0.8.3/crates/veil-python/README.md +106 -0
  14. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/configuration.md +7 -0
  15. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/src/ext.rs +23 -20
  16. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/src/lib.rs +32 -28
  17. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/src/native.rs +39 -34
  18. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/tests/e2e.sh +3 -0
  19. {veil_api-0.8.2 → veil_api-0.8.3}/python/veil/__init__.py +14 -12
  20. {veil_api-0.8.2 → veil_api-0.8.3}/python/veil/grpc.py +2 -2
  21. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/app.rs +65 -59
  22. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/bridge.rs +55 -47
  23. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/config.rs +93 -58
  24. veil_api-0.8.3/src/api/default_config.toml +37 -0
  25. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/dispatch.rs +18 -14
  26. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/extract.rs +17 -16
  27. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/blocking.rs +23 -20
  28. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/health.rs +16 -13
  29. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/mod.rs +124 -106
  30. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/reflection.rs +26 -20
  31. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/tests.rs +28 -16
  32. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/web.rs +26 -23
  33. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/grpc/wire.rs +12 -11
  34. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/handler.rs +57 -55
  35. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/l4.rs +56 -53
  36. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/mod.rs +20 -19
  37. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/openapi.rs +12 -11
  38. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/pattern.rs +23 -22
  39. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/request.rs +39 -35
  40. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/response.rs +38 -34
  41. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/routes.rs +18 -16
  42. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/schema.rs +35 -34
  43. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/stream.rs +22 -20
  44. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/tokio_compat.rs +17 -16
  45. {veil_api-0.8.2 → veil_api-0.8.3}/src/api/tower.rs +34 -29
  46. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/resolve.rs +14 -12
  47. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/loaded.rs +1 -1
  48. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/validate.rs +2 -1
  49. {veil_api-0.8.2 → veil_api-0.8.3}/src/entry.rs +15 -12
  50. {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/compression.rs +6 -5
  51. {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/status.rs +1 -1
  52. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/encoder.rs +1 -1
  53. {veil_api-0.8.2 → veil_api-0.8.3}/src/lib.rs +16 -16
  54. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/h2.rs +2 -2
  55. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/executor.rs +1 -1
  56. {veil_api-0.8.2 → veil_api-0.8.3}/src/security.rs +20 -20
  57. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/fs.rs +8 -7
  58. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/future.rs +3 -3
  59. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/io/mod.rs +7 -5
  60. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/io/read_buf.rs +5 -5
  61. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/io/util.rs +29 -29
  62. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/macros.rs +8 -7
  63. veil_api-0.8.3/src/tokio/mod.rs +54 -0
  64. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/net/mod.rs +49 -46
  65. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/net/sys_unix.rs +16 -15
  66. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/net/sys_windows.rs +20 -17
  67. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/net/unix_impl.rs +19 -19
  68. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/runtime.rs +42 -37
  69. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/signal.rs +22 -25
  70. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/broadcast.rs +12 -12
  71. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/mod.rs +4 -2
  72. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/mpsc.rs +24 -24
  73. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/mutex.rs +16 -16
  74. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/notify.rs +16 -16
  75. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/oneshot.rs +9 -9
  76. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/semaphore.rs +10 -10
  77. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/sync/watch.rs +12 -12
  78. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/task.rs +51 -49
  79. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/time.rs +35 -33
  80. {veil_api-0.8.2 → veil_api-0.8.3}/src/tokio/waker.rs +48 -43
  81. {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/heap.rs +77 -71
  82. {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/huge.rs +9 -7
  83. {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/lock.rs +10 -8
  84. {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/mod.rs +60 -51
  85. {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/os.rs +19 -16
  86. {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/segment.rs +46 -43
  87. {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/size_class.rs +24 -19
  88. {veil_api-0.8.2 → veil_api-0.8.3}/src/veil_alloc/tests.rs +2 -2
  89. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/types.rs +2 -2
  90. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/Cargo.toml +10 -1
  91. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/README.veil.md +25 -1
  92. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/crypto/boringssl.rs +2 -1
  93. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/crypto/mod.rs +2 -1
  94. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/lib.rs +5 -0
  95. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/rand.rs +2 -1
  96. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/tls/boringssl.rs +11 -1
  97. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/tls/mod.rs +2 -1
  98. veil_api-0.8.3/third_party/quiche/src/veil_ffi.rs +167 -0
  99. veil_api-0.8.2/PKG-INFO +0 -205
  100. veil_api-0.8.2/README.md +0 -181
  101. veil_api-0.8.2/crates/veil-macros/src/lib.rs +0 -71
  102. veil_api-0.8.2/crates/veil-python/README.md +0 -181
  103. veil_api-0.8.2/src/api/default_config.toml +0 -30
  104. veil_api-0.8.2/src/tokio/mod.rs +0 -54
  105. {veil_api-0.8.2 → veil_api-0.8.3}/LICENSE-APACHE +0 -0
  106. {veil_api-0.8.2 → veil_api-0.8.3}/LICENSE-MIT +0 -0
  107. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/Cargo.toml +0 -0
  108. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-macros/src/l4.rs +0 -0
  109. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/Cargo.toml +0 -0
  110. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/conf.py +0 -0
  111. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/dependency-injection.md +0 -0
  112. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/grpc.md +0 -0
  113. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/index.md +0 -0
  114. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/locale/.gitkeep +0 -0
  115. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/quickstart.md +0 -0
  116. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/requests-responses.md +0 -0
  117. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/requirements.txt +0 -0
  118. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/routing.md +0 -0
  119. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/docs/websocket.md +0 -0
  120. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/tests/test_binding.py +0 -0
  121. {veil_api-0.8.2 → veil_api-0.8.3}/crates/veil-python/tests/test_native.py +0 -0
  122. {veil_api-0.8.2 → veil_api-0.8.3}/pyproject.toml +0 -0
  123. {veil_api-0.8.2 → veil_api-0.8.3}/python/veil/_veil.pyi +0 -0
  124. {veil_api-0.8.2 → veil_api-0.8.3}/python/veil/py.typed +0 -0
  125. {veil_api-0.8.2 → veil_api-0.8.3}/src/access_log.rs +0 -0
  126. {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/challenge.rs +0 -0
  127. {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/client.rs +0 -0
  128. {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/jws.rs +0 -0
  129. {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/mod.rs +0 -0
  130. {veil_api-0.8.2 → veil_api-0.8.3}/src/acme/x509.rs +0 -0
  131. {veil_api-0.8.2 → veil_api-0.8.3}/src/alloc_stats.rs +0 -0
  132. {veil_api-0.8.2 → veil_api-0.8.3}/src/alloc_tune.rs +0 -0
  133. {veil_api-0.8.2 → veil_api-0.8.3}/src/buffering/config.rs +0 -0
  134. {veil_api-0.8.2 → veil_api-0.8.3}/src/buffering/handler.rs +0 -0
  135. {veil_api-0.8.2 → veil_api-0.8.3}/src/buffering/mod.rs +0 -0
  136. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/compressed.rs +0 -0
  137. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/config.rs +0 -0
  138. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/content_cache.rs +0 -0
  139. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/disk.rs +0 -0
  140. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/entry.rs +0 -0
  141. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/file_cache.rs +0 -0
  142. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/index.rs +0 -0
  143. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/key.rs +0 -0
  144. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/manager.rs +0 -0
  145. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/memory.rs +0 -0
  146. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/mod.rs +0 -0
  147. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/policy.rs +0 -0
  148. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/revalidation.rs +0 -0
  149. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/shm.rs +0 -0
  150. {veil_api-0.8.2 → veil_api-0.8.3}/src/cache/static_file.rs +0 -0
  151. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/async_io.rs +0 -0
  152. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/backend.rs +0 -0
  153. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/cli.rs +0 -0
  154. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/compression.rs +0 -0
  155. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/log_config.rs +0 -0
  156. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/mod.rs +0 -0
  157. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/net_policy.rs +0 -0
  158. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/prometheus.rs +0 -0
  159. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/runtime_state.rs +0 -0
  160. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/sandbox_paths.rs +0 -0
  161. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/tls_connector.rs +0 -0
  162. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/tls_server.rs +0 -0
  163. {veil_api-0.8.2 → veil_api-0.8.3}/src/config/upstream_group.rs +0 -0
  164. {veil_api-0.8.2 → veil_api-0.8.3}/src/config_override.rs +0 -0
  165. {veil_api-0.8.2 → veil_api-0.8.3}/src/connect_broker.rs +0 -0
  166. {veil_api-0.8.2 → veil_api-0.8.3}/src/constants.rs +0 -0
  167. {veil_api-0.8.2 → veil_api-0.8.3}/src/ctrl_http.rs +0 -0
  168. {veil_api-0.8.2 → veil_api-0.8.3}/src/fuzz_api.rs +0 -0
  169. {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/framing.rs +0 -0
  170. {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/headers.rs +0 -0
  171. {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/mod.rs +0 -0
  172. {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/stream.rs +0 -0
  173. {veil_api-0.8.2 → veil_api-0.8.3}/src/grpc/web.rs +0 -0
  174. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/connection.rs +0 -0
  175. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/error.rs +0 -0
  176. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/frame/decoder.rs +0 -0
  177. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/frame/encoder.rs +0 -0
  178. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/frame/mod.rs +0 -0
  179. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/frame/types.rs +0 -0
  180. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/decoder.rs +0 -0
  181. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/huffman.rs +0 -0
  182. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/huffman_decode_table.rs +0 -0
  183. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/mod.rs +0 -0
  184. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/hpack/table.rs +0 -0
  185. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/mod.rs +0 -0
  186. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/settings.rs +0 -0
  187. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/stream.rs +0 -0
  188. {veil_api-0.8.2 → veil_api-0.8.3}/src/http2/upstream_mux.rs +0 -0
  189. {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/event_loop.rs +0 -0
  190. {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/mod.rs +0 -0
  191. {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/request_task.rs +0 -0
  192. {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/streaming.rs +0 -0
  193. {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_server/upstream.rs +0 -0
  194. {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_stream.rs +0 -0
  195. {veil_api-0.8.2 → veil_api-0.8.3}/src/http3_wire.rs +0 -0
  196. {veil_api-0.8.2 → veil_api-0.8.3}/src/http_utils.rs +0 -0
  197. {veil_api-0.8.2 → veil_api-0.8.3}/src/jwt_verify.rs +0 -0
  198. {veil_api-0.8.2 → veil_api-0.8.3}/src/ktls.rs +0 -0
  199. {veil_api-0.8.2 → veil_api-0.8.3}/src/ktls_freebsd.rs +0 -0
  200. {veil_api-0.8.2 → veil_api-0.8.3}/src/ktls_rustls.rs +0 -0
  201. {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/health.rs +0 -0
  202. {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/mod.rs +0 -0
  203. {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/proxy.rs +0 -0
  204. {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/server.rs +0 -0
  205. {veil_api-0.8.2 → veil_api-0.8.3}/src/l4/udp.rs +0 -0
  206. {veil_api-0.8.2 → veil_api-0.8.3}/src/l7.rs +0 -0
  207. {veil_api-0.8.2 → veil_api-0.8.3}/src/legacy_bin_tests.rs +0 -0
  208. {veil_api-0.8.2 → veil_api-0.8.3}/src/listen_addr.rs +0 -0
  209. {veil_api-0.8.2 → veil_api-0.8.3}/src/logging.rs +0 -0
  210. {veil_api-0.8.2 → veil_api-0.8.3}/src/main.rs +0 -0
  211. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/accesslog.rs +0 -0
  212. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/admin.rs +0 -0
  213. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/detect.rs +0 -0
  214. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/envoy/bootstrap.rs +0 -0
  215. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/envoy/mod.rs +0 -0
  216. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/envoy/sds.rs +0 -0
  217. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/envoy/testdata/istio_bootstrap.json +0 -0
  218. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/h2.rs +0 -0
  219. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/hbone.rs +0 -0
  220. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/http1.rs +0 -0
  221. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/httpcore.rs +0 -0
  222. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/identity.rs +0 -0
  223. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/jwt.rs +0 -0
  224. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/l7.rs +0 -0
  225. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/admin.rs +0 -0
  226. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/conn.rs +0 -0
  227. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/control.rs +0 -0
  228. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/discovery.rs +0 -0
  229. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/env.rs +0 -0
  230. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/identity.rs +0 -0
  231. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/metrics.rs +0 -0
  232. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/mod.rs +0 -0
  233. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/proto.rs +0 -0
  234. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/linkerd/tap.rs +0 -0
  235. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/mirror.rs +0 -0
  236. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/mod.rs +0 -0
  237. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/model.rs +0 -0
  238. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/net.rs +0 -0
  239. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/peer.rs +0 -0
  240. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/server.rs +0 -0
  241. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/state.rs +0 -0
  242. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/stats.rs +0 -0
  243. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/tcp.rs +0 -0
  244. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/tracing.rs +0 -0
  245. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/upstream.rs +0 -0
  246. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/wasm.rs +0 -0
  247. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/ads.rs +0 -0
  248. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/dump.rs +0 -0
  249. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/mod.rs +0 -0
  250. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/proto.rs +0 -0
  251. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/rbac.rs +0 -0
  252. {veil_api-0.8.2 → veil_api-0.8.3}/src/mesh/xds/translate.rs +0 -0
  253. {veil_api-0.8.2 → veil_api-0.8.3}/src/metrics.rs +0 -0
  254. {veil_api-0.8.2 → veil_api-0.8.3}/src/otel.rs +0 -0
  255. {veil_api-0.8.2 → veil_api-0.8.3}/src/path_norm.rs +0 -0
  256. {veil_api-0.8.2 → veil_api-0.8.3}/src/pool.rs +0 -0
  257. {veil_api-0.8.2 → veil_api-0.8.3}/src/protocol/mod.rs +0 -0
  258. {veil_api-0.8.2 → veil_api-0.8.3}/src/protocol/negotiation.rs +0 -0
  259. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/buffered.rs +0 -0
  260. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/compress.rs +0 -0
  261. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/detect.rs +0 -0
  262. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/forward.rs +0 -0
  263. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/h1.rs +0 -0
  264. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/h2_request_body.rs +0 -0
  265. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/https.rs +0 -0
  266. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/mod.rs +0 -0
  267. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/sendfile.rs +0 -0
  268. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/splice.rs +0 -0
  269. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/transfer.rs +0 -0
  270. {veil_api-0.8.2 → veil_api-0.8.3}/src/proxy/websocket.rs +0 -0
  271. {veil_api-0.8.2 → veil_api-0.8.3}/src/resilience.rs +0 -0
  272. {veil_api-0.8.2 → veil_api-0.8.3}/src/route_traffic.rs +0 -0
  273. {veil_api-0.8.2 → veil_api-0.8.3}/src/routing/mod.rs +0 -0
  274. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/buf.rs +0 -0
  275. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/dns.rs +0 -0
  276. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/fallback.rs +0 -0
  277. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/handle.rs +0 -0
  278. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/io.rs +0 -0
  279. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/mod.rs +0 -0
  280. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/offload.rs +0 -0
  281. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/aio.rs +0 -0
  282. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/epoll.rs +0 -0
  283. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/kqueue.rs +0 -0
  284. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/mod.rs +0 -0
  285. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/poller.rs +0 -0
  286. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/sendfile.rs +0 -0
  287. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/splice.rs +0 -0
  288. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/tcp/mod.rs +0 -0
  289. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/tcp/unix.rs +0 -0
  290. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/tcp/windows.rs +0 -0
  291. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/timer.rs +0 -0
  292. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/reactor/wsapoll.rs +0 -0
  293. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/udp.rs +0 -0
  294. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/executor.rs +0 -0
  295. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/mod.rs +0 -0
  296. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/ring.rs +0 -0
  297. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/splice.rs +0 -0
  298. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/tcp.rs +0 -0
  299. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/timer.rs +0 -0
  300. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/udp_recv.rs +0 -0
  301. {veil_api-0.8.2 → veil_api-0.8.3}/src/runtime/uring/udp_send.rs +0 -0
  302. {veil_api-0.8.2 → veil_api-0.8.3}/src/server.rs +0 -0
  303. {veil_api-0.8.2 → veil_api-0.8.3}/src/simple_tls.rs +0 -0
  304. {veil_api-0.8.2 → veil_api-0.8.3}/src/stream_channel.rs +0 -0
  305. {veil_api-0.8.2 → veil_api-0.8.3}/src/system.rs +0 -0
  306. {veil_api-0.8.2 → veil_api-0.8.3}/src/tls_provider.rs +0 -0
  307. {veil_api-0.8.2 → veil_api-0.8.3}/src/tls_reload.rs +0 -0
  308. {veil_api-0.8.2 → veil_api-0.8.3}/src/tls_writev.rs +0 -0
  309. {veil_api-0.8.2 → veil_api-0.8.3}/src/udp/mod.rs +0 -0
  310. {veil_api-0.8.2 → veil_api-0.8.3}/src/udp/socket.rs +0 -0
  311. {veil_api-0.8.2 → veil_api-0.8.3}/src/upstream.rs +0 -0
  312. {veil_api-0.8.2 → veil_api-0.8.3}/src/upstream_tls.rs +0 -0
  313. {veil_api-0.8.2 → veil_api-0.8.3}/src/vds.rs +0 -0
  314. {veil_api-0.8.2 → veil_api-0.8.3}/src/vds_grpc.rs +0 -0
  315. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/capabilities.rs +0 -0
  316. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/constants.rs +0 -0
  317. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/context.rs +0 -0
  318. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/engine.rs +0 -0
  319. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/grpc_integration.rs +0 -0
  320. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/abi.rs +0 -0
  321. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/buffers.rs +0 -0
  322. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/foreign.rs +0 -0
  323. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/grpc.rs +0 -0
  324. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/grpc_executor.rs +0 -0
  325. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/grpc_pool.rs +0 -0
  326. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/grpc_tls.rs +0 -0
  327. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/headers.rs +0 -0
  328. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/http_call.rs +0 -0
  329. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/logging.rs +0 -0
  330. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/metrics.rs +0 -0
  331. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/mod.rs +0 -0
  332. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/properties.rs +0 -0
  333. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/shared_data.rs +0 -0
  334. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/shared_queue.rs +0 -0
  335. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/stream.rs +0 -0
  336. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/host/wasi.rs +0 -0
  337. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/http_executor.rs +0 -0
  338. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/integration.rs +0 -0
  339. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/mod.rs +0 -0
  340. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/openbsd_stack.rs +0 -0
  341. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/persistent_context.rs +0 -0
  342. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/queue_notify.rs +0 -0
  343. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/registry.rs +0 -0
  344. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/tests.rs +0 -0
  345. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm/tick_manager.rs +0 -0
  346. {veil_api-0.8.2 → veil_api-0.8.3}/src/wasm_plugin_config.rs +0 -0
  347. {veil_api-0.8.2 → veil_api-0.8.3}/src/x509_san.rs +0 -0
  348. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/COPYING +0 -0
  349. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/README.md +0 -0
  350. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/include/quiche.h +0 -0
  351. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/rustfmt.toml +0 -0
  352. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/build.rs +0 -0
  353. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/cid.rs +0 -0
  354. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/crypto/openssl_quictls.rs +0 -0
  355. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/dgram.rs +0 -0
  356. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/error.rs +0 -0
  357. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/ffi.rs +0 -0
  358. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/flowcontrol.rs +0 -0
  359. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/frame.rs +0 -0
  360. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/ffi.rs +0 -0
  361. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/frame.rs +0 -0
  362. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/mod.rs +0 -0
  363. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/qpack/decoder.rs +0 -0
  364. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/qpack/encoder.rs +0 -0
  365. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/qpack/mod.rs +0 -0
  366. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/qpack/static_table.rs +0 -0
  367. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/h3/stream.rs +0 -0
  368. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/minmax.rs +0 -0
  369. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/packet.rs +0 -0
  370. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/path.rs +0 -0
  371. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/pmtud.rs +0 -0
  372. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/range_buf.rs +0 -0
  373. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/ranges.rs +0 -0
  374. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/bandwidth.rs +0 -0
  375. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/bytes_in_flight.rs +0 -0
  376. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/cubic.rs +0 -0
  377. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/delivery_rate.rs +0 -0
  378. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/hystart.rs +0 -0
  379. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/mod.rs +0 -0
  380. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/prr.rs +0 -0
  381. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/recovery.rs +0 -0
  382. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/reno.rs +0 -0
  383. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/congestion/test_sender.rs +0 -0
  384. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr/bandwidth_sampler.rs +0 -0
  385. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr/windowed_filter.rs +0 -0
  386. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr.rs +0 -0
  387. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/drain.rs +0 -0
  388. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/mode.rs +0 -0
  389. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/network_model.rs +0 -0
  390. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/probe_bw.rs +0 -0
  391. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/probe_rtt.rs +0 -0
  392. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2/startup.rs +0 -0
  393. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/bbr2.rs +0 -0
  394. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/mod.rs +0 -0
  395. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/pacer.rs +0 -0
  396. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/gcongestion/recovery.rs +0 -0
  397. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/mod.rs +0 -0
  398. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/recovery/rtt.rs +0 -0
  399. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/stream/mod.rs +0 -0
  400. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/stream/recv_buf.rs +0 -0
  401. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/stream/send_buf.rs +0 -0
  402. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/test_utils.rs +0 -0
  403. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/tests.rs +0 -0
  404. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/tls/openssl_quictls.rs +0 -0
  405. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/quiche/src/transport_params.rs +0 -0
  406. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/Cargo.toml +0 -0
  407. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/LICENSE +0 -0
  408. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/README.md +0 -0
  409. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/README.veil.md +0 -0
  410. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/build.rs +0 -0
  411. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/rustfmt.toml +0 -0
  412. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/call_graph.rs +0 -0
  413. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/code_builder.rs +0 -0
  414. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/runtime.rs +0 -0
  415. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/scc.rs +0 -0
  416. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile/stratify.rs +0 -0
  417. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/compile.rs +0 -0
  418. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/config.rs +0 -0
  419. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/engine/serialization.rs +0 -0
  420. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/engine.rs +0 -0
  421. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/lib.rs +0 -0
  422. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent/jitdump.rs +0 -0
  423. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent/perfmap.rs +0 -0
  424. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent/pulley.rs +0 -0
  425. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent/vtune.rs +0 -0
  426. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/profiling_agent.rs +0 -0
  427. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/code.rs +0 -0
  428. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/code_memory.rs +0 -0
  429. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_0_hello_world.rs +0 -0
  430. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_1_world_imports.rs +0 -0
  431. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_2_world_exports.rs +0 -0
  432. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_3_interface_imports.rs +0 -0
  433. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_4_imported_resources.rs +0 -0
  434. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +0 -0
  435. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_6_exported_resources.rs +0 -0
  436. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/_7_async.rs +0 -0
  437. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/bindgen_examples/mod.rs +0 -0
  438. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/component.rs +0 -0
  439. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/abort.rs +0 -0
  440. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/error_contexts.rs +0 -0
  441. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/futures_and_streams/buffers.rs +0 -0
  442. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/futures_and_streams.rs +0 -0
  443. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/states.rs +0 -0
  444. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/table.rs +0 -0
  445. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent/tls.rs +0 -0
  446. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent.rs +0 -0
  447. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/concurrent_disabled.rs +0 -0
  448. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/func/host.rs +0 -0
  449. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/func/options.rs +0 -0
  450. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/func/typed.rs +0 -0
  451. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/func.rs +0 -0
  452. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/has_data.rs +0 -0
  453. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/instance.rs +0 -0
  454. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/linker.rs +0 -0
  455. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/matching.rs +0 -0
  456. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/mod.rs +0 -0
  457. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/resource_table.rs +0 -0
  458. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/resources.rs +0 -0
  459. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/storage.rs +0 -0
  460. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/store.rs +0 -0
  461. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/types.rs +0 -0
  462. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/component/values.rs +0 -0
  463. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/coredump.rs +0 -0
  464. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/debug.rs +0 -0
  465. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/externals/global.rs +0 -0
  466. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/externals/table.rs +0 -0
  467. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/externals/tag.rs +0 -0
  468. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/externals.rs +0 -0
  469. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/fiber.rs +0 -0
  470. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/func/typed.rs +0 -0
  471. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/func.rs +0 -0
  472. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/anyref.rs +0 -0
  473. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/arrayref.rs +0 -0
  474. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/eqref.rs +0 -0
  475. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/exnref.rs +0 -0
  476. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/externref.rs +0 -0
  477. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/i31.rs +0 -0
  478. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/rooting.rs +0 -0
  479. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled/structref.rs +0 -0
  480. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/disabled.rs +0 -0
  481. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/anyref.rs +0 -0
  482. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/arrayref.rs +0 -0
  483. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/eqref.rs +0 -0
  484. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/exnref.rs +0 -0
  485. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/externref.rs +0 -0
  486. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/i31.rs +0 -0
  487. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/rooting.rs +0 -0
  488. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled/structref.rs +0 -0
  489. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/enabled.rs +0 -0
  490. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/noextern.rs +0 -0
  491. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc/none_ref.rs +0 -0
  492. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/gc.rs +0 -0
  493. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/instance.rs +0 -0
  494. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/instantiate.rs +0 -0
  495. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/limits.rs +0 -0
  496. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/linker.rs +0 -0
  497. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/memory.rs +0 -0
  498. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/module/registry.rs +0 -0
  499. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/module.rs +0 -0
  500. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/profiling.rs +0 -0
  501. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/resources.rs +0 -0
  502. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/stack.rs +0 -0
  503. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/async_.rs +0 -0
  504. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/context.rs +0 -0
  505. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/data.rs +0 -0
  506. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/func_refs.rs +0 -0
  507. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/gc.rs +0 -0
  508. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store/token.rs +0 -0
  509. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/store.rs +0 -0
  510. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/func.rs +0 -0
  511. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/global.rs +0 -0
  512. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/memory.rs +0 -0
  513. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/table.rs +0 -0
  514. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline/tag.rs +0 -0
  515. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trampoline.rs +0 -0
  516. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/trap.rs +0 -0
  517. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/type_registry.rs +0 -0
  518. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/types/matching.rs +0 -0
  519. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/types.rs +0 -0
  520. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/uninhabited.rs +0 -0
  521. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/unix.rs +0 -0
  522. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/v128.rs +0 -0
  523. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/values.rs +0 -0
  524. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/async_yield.rs +0 -0
  525. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/byte_count.rs +0 -0
  526. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/component/libcalls.rs +0 -0
  527. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/component/resources.rs +0 -0
  528. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/component.rs +0 -0
  529. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/const_expr.rs +0 -0
  530. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/cow.rs +0 -0
  531. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/cow_disabled.rs +0 -0
  532. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/debug_builtins.rs +0 -0
  533. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/export.rs +0 -0
  534. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/disabled.rs +0 -0
  535. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/arrayref.rs +0 -0
  536. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/data.rs +0 -0
  537. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/drc.rs +0 -0
  538. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/exnref.rs +0 -0
  539. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/externref.rs +0 -0
  540. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/free_list.rs +0 -0
  541. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/null.rs +0 -0
  542. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled/structref.rs +0 -0
  543. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/enabled.rs +0 -0
  544. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/func_ref.rs +0 -0
  545. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/gc_ref.rs +0 -0
  546. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/gc_runtime.rs +0 -0
  547. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/host_data.rs +0 -0
  548. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc/i31.rs +0 -0
  549. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/gc.rs +0 -0
  550. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/helpers.c +0 -0
  551. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/imports.rs +0 -0
  552. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/on_demand.rs +0 -0
  553. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +0 -0
  554. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -0
  555. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -0
  556. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -0
  557. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -0
  558. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -0
  559. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -0
  560. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator/pooling.rs +0 -0
  561. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance/allocator.rs +0 -0
  562. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/instance.rs +0 -0
  563. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/interpreter.rs +0 -0
  564. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/interpreter_disabled.rs +0 -0
  565. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/libcalls.rs +0 -0
  566. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/malloc.rs +0 -0
  567. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/mmap.rs +0 -0
  568. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/shared_memory.rs +0 -0
  569. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/shared_memory_disabled.rs +0 -0
  570. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory/static_.rs +0 -0
  571. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/memory.rs +0 -0
  572. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mmap.rs +0 -0
  573. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mmap_vec.rs +0 -0
  574. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/module_id.rs +0 -0
  575. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/disabled.rs +0 -0
  576. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/enabled.rs +0 -0
  577. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/mod.rs +0 -0
  578. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/pkru.rs +0 -0
  579. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/mpk/sys.rs +0 -0
  580. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/parking_spot.rs +0 -0
  581. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/provenance.rs +0 -0
  582. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/send_sync_ptr.rs +0 -0
  583. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/send_sync_unsafe_cell.rs +0 -0
  584. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching/stack/dummy.rs +0 -0
  585. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching/stack/unix/x86_64.rs +0 -0
  586. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching/stack/unix.rs +0 -0
  587. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching/stack.rs +0 -0
  588. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/stack_switching.rs +0 -0
  589. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/store_box.rs +0 -0
  590. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/capi.rs +0 -0
  591. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/mmap.rs +0 -0
  592. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/mod.rs +0 -0
  593. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/traphandlers.rs +0 -0
  594. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/unwind.rs +0 -0
  595. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/custom/vm.rs +0 -0
  596. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/mmap.rs +0 -0
  597. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/mod.rs +0 -0
  598. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
  599. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/unwind.rs +0 -0
  600. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/miri/vm.rs +0 -0
  601. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/mod.rs +0 -0
  602. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/machports.rs +0 -0
  603. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/mmap.rs +0 -0
  604. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/mod.rs +0 -0
  605. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/signals.rs +0 -0
  606. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/traphandlers.rs +0 -0
  607. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/unwind.rs +0 -0
  608. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/unix/vm.rs +0 -0
  609. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/mmap.rs +0 -0
  610. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/mod.rs +0 -0
  611. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/traphandlers.rs +0 -0
  612. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/unwind64.rs +0 -0
  613. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/vectored_exceptions.rs +0 -0
  614. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/sys/windows/vm.rs +0 -0
  615. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/table.rs +0 -0
  616. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  617. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  618. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  619. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers/signals.rs +0 -0
  620. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/traphandlers.rs +0 -0
  621. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -0
  622. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm/vmcontext.rs +0 -0
  623. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/vm.rs +0 -0
  624. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/wave/component.rs +0 -0
  625. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/wave/core.rs +0 -0
  626. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/wave.rs +0 -0
  627. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime/windows.rs +0 -0
  628. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/runtime.rs +0 -0
  629. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/sync_nostd.rs +0 -0
  630. {veil_api-0.8.2 → veil_api-0.8.3}/third_party/wasmtime/src/sync_std.rs +0 -0
@@ -4301,7 +4301,7 @@ dependencies = [
4301
4301
 
4302
4302
  [[package]]
4303
4303
  name = "veil-capi"
4304
- version = "0.8.2"
4304
+ version = "0.8.3"
4305
4305
  dependencies = [
4306
4306
  "bytes",
4307
4307
  "serde_json",
@@ -4319,7 +4319,7 @@ dependencies = [
4319
4319
 
4320
4320
  [[package]]
4321
4321
  name = "veil-proxy"
4322
- version = "0.8.2"
4322
+ version = "0.8.3"
4323
4323
  dependencies = [
4324
4324
  "anyhow",
4325
4325
  "arc-swap",
@@ -4403,14 +4403,14 @@ dependencies = [
4403
4403
 
4404
4404
  [[package]]
4405
4405
  name = "veil-proxy-build"
4406
- version = "0.8.2"
4406
+ version = "0.8.3"
4407
4407
  dependencies = [
4408
4408
  "prost-build",
4409
4409
  ]
4410
4410
 
4411
4411
  [[package]]
4412
4412
  name = "veil-proxy-macros"
4413
- version = "0.8.2"
4413
+ version = "0.8.3"
4414
4414
  dependencies = [
4415
4415
  "proc-macro2",
4416
4416
  "quote",
@@ -4419,8 +4419,9 @@ dependencies = [
4419
4419
 
4420
4420
  [[package]]
4421
4421
  name = "veil-proxy-quiche"
4422
- version = "0.24.9-veil.1"
4422
+ version = "0.24.9-veil.2"
4423
4423
  dependencies = [
4424
+ "aws-lc-sys",
4424
4425
  "boring",
4425
4426
  "cdylib-link-lines",
4426
4427
  "cmake",
@@ -4509,7 +4510,7 @@ dependencies = [
4509
4510
 
4510
4511
  [[package]]
4511
4512
  name = "veil-python"
4512
- version = "0.8.2"
4513
+ version = "0.8.3"
4513
4514
  dependencies = [
4514
4515
  "bytes",
4515
4516
  "itoa",
@@ -40,7 +40,7 @@ resolver = "2"
40
40
  # (ルートから veil-macros への依存の版と、ワークスペース外の Cargo.lock も一緒に更新する)。
41
41
  # 公開の workflow(.github/workflows/release.yml)はタグとこの版が違えば何も公開しない。
42
42
  [workspace.package]
43
- version = "0.8.2"
43
+ version = "0.8.3"
44
44
  edition = "2021"
45
45
  license = "Apache-2.0 OR MIT"
46
46
  authors = ["aofusa"]
@@ -677,7 +677,7 @@ regex = { version = "1", optional = true }
677
677
  serde_urlencoded = { version = "0.7", optional = true }
678
678
  # マクロで定義したルート・L4 ハンドラの静的登録(リンク時に収集)
679
679
  inventory = { version = "0.3", optional = true }
680
- veil-macros = { package = "veil-proxy-macros", path = "crates/veil-macros", version = "0.8.2", optional = true }
680
+ veil-macros = { package = "veil-proxy-macros", path = "crates/veil-macros", version = "0.8.3", optional = true }
681
681
  tower-service = { version = "0.3", optional = true }
682
682
  tower-layer = { version = "0.3", optional = true }
683
683
  http = { version = "1.4", optional = true }
@@ -715,7 +715,7 @@ ring = "0.17"
715
715
  rcgen = { version = "0.14.6", optional = true, default-features = false, features = ["crypto", "pem", "ring"] }
716
716
  # OpenBSD/NetBSD の quiche(http3) は vendored BoringSSL(`boringssl-boring-crate` feature、
717
717
  # 外部 `boring` crate 経由)を無条件で使う(FreeBSD/macOS/Windows と同じ構成、F-136)。
718
- quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.1", default-features = false, features = ["boringssl-boring-crate"], optional = true }
718
+ quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.2", default-features = false, features = ["boringssl-boring-crate"], optional = true }
719
719
  # quiche 0.24.9 が依存する boring のバージョンと必ず一致させること(異なると
720
720
  # `SslContextBuilder` の型が別物になりコンパイルエラーになる)。FreeBSD/macOS/Windows と
721
721
  # 同じ理由で optional にしない。
@@ -933,7 +933,10 @@ required-features = ["wasm"]
933
933
  # **Linux は無変更**(AGENTS.md「Linux 経路は不変」): `boring` crate を Linux の依存に
934
934
  # 入れてはならない(重複シンボルでリンクが壊れる)。
935
935
  [target.'cfg(target_os = "linux")'.dependencies]
936
- quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.1", default-features = false, optional = true }
936
+ # F-243: quiche の BoringSSL の FFI を aws-lc-sys の Rust のバインディング経由で呼ぶ(`aws-lc-sys` feature、
937
+ # third_party/quiche/src/veil_ffi.rs)。aws-lc-sys の接頭辞の有無(AWS_LC_SYS_NO_PREFIX)を問わずリンクできるので、
938
+ # veil を依存にする利用者は .cargo/config.toml に何も書かなくてよい。
939
+ quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.2", default-features = false, features = ["aws-lc-sys"], optional = true }
937
940
  # F-238: rustls(aws-lc-rs)が引く aws-lc-sys と必ず同じ 1 つの版にする(2 つになると、プレフィックス無しの
938
941
  # シンボルが衝突し、ビルドが libcrypto を見つけられずに失敗する)。crates.io から入れた利用者の解決では
939
942
  # aws-lc-rs の最新が新しい aws-lc-sys を要求するので、範囲で受けて同じ版に寄せる。
@@ -944,7 +947,7 @@ aws-lc-sys = { version = ">=0.45, <0.48", features = ["ssl", "bindgen"] }
944
947
  # `boringssl-boring-crate` feature 経由でしか提供されないため、常時これを使う
945
948
  # (macOS/Windows と同じ構成)。
946
949
  [target.'cfg(target_os = "freebsd")'.dependencies]
947
- quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.1", default-features = false, features = ["boringssl-boring-crate"], optional = true }
950
+ quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.2", default-features = false, features = ["boringssl-boring-crate"], optional = true }
948
951
  # quiche 0.24.9 が依存する boring のバージョンと必ず一致させること(異なると
949
952
  # `SslContextBuilder` の型が別物になりコンパイルエラーになる)。FreeBSD は常に
950
953
  # BoringSSL 固定のため optional にしない(http3 feature 無効時の追加コストは
@@ -953,7 +956,7 @@ boring = "4.3"
953
956
 
954
957
  # macOS/Windows: 従来どおり vendored BoringSSL(boring crate)を無条件で使う(不変)。
955
958
  [target.'cfg(any(target_os = "macos", windows))'.dependencies]
956
- quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.1", default-features = false, features = ["boringssl-boring-crate"], optional = true }
959
+ quiche = { package = "veil-proxy-quiche", path = "third_party/quiche", version = "=0.24.9-veil.2", default-features = false, features = ["boringssl-boring-crate"], optional = true }
957
960
  # `src/http3_server.rs` が `boring::ssl::SslContextBuilder` 等を直接使うための直接依存
958
961
  # (quiche 内部の boring 依存とは別に、自クレートのコードから使うには直接宣言が要る)。
959
962
  # Cargo の feature はターゲット非依存(`http3 = ["dep:quiche"]` に `dep:boring` を
@@ -983,7 +986,7 @@ tonic = { version = "0.14.2", features = ["tls-ring", "channel"] }
983
986
  # ビルド時のみ複数フレームを詰める)。小さい応答を多数多重化する HTTP/3 ではリクエストごとに
984
987
  # 1 パケット(sendto + AEAD + ヘッダ保護)を払うことになり、FreeBSD aarch64 の 3B 静的配信で
985
988
  # 送信 syscall が 1.01/req(nginx 0.22/req)だった。常に詰めるよう 1 箇所だけ差し替えた
986
- # vendoring 版を `veil-proxy-quiche`(版 0.24.9-veil.1)として各ターゲットの依存に直接書く(上の
989
+ # vendoring 版を `veil-proxy-quiche`(版 0.24.9-veil.2)として各ターゲットの依存に直接書く(上の
987
990
  # target 別の quiche。依存のキーは `quiche` のままなのでコードは `quiche::` のまま)。以前は
988
991
  # `[patch.crates-io]` で差し替えていたが、patch は crates.io から入れた利用者のビルドには効かない(F-238)。
989
992
  # 詳細は third_party/quiche/README.veil.md。
@@ -0,0 +1,130 @@
1
+ Metadata-Version: 2.4
2
+ Name: veil-api
3
+ Version: 0.8.3
4
+ Classifier: Programming Language :: Rust
5
+ Classifier: Programming Language :: Python :: 3
6
+ Classifier: Operating System :: POSIX :: Linux
7
+ Classifier: Operating System :: MacOS
8
+ Classifier: Operating System :: Microsoft :: Windows
9
+ Classifier: License :: OSI Approved :: Apache Software License
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Requires-Dist: grpcio ; extra == 'grpc'
12
+ Requires-Dist: pydantic>=2 ; extra == 'pydantic'
13
+ Provides-Extra: grpc
14
+ Provides-Extra: pydantic
15
+ Summary: veil API server library: FastAPI-like Python bindings (io_uring / HTTP/1.1, 2, 3)
16
+ Author: aofusa
17
+ License: Apache-2.0 OR MIT
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
20
+ Project-URL: Changelog, https://github.com/aofusa/veil-proxy/releases
21
+ Project-URL: Documentation, https://veil-api.readthedocs.io
22
+ Project-URL: Source, https://github.com/aofusa/veil-proxy
23
+
24
+ # veil-api
25
+
26
+ FastAPI-like Python bindings for the [veil](https://github.com/aofusa/veil-proxy) API server.
27
+
28
+ Accepting connections, TLS, HTTP/1.1, HTTP/2, HTTP/3, gRPC and OpenAPI serving are handled
29
+ by the Rust data plane (io_uring on Linux), so Python only contains your handler functions, written with
30
+ FastAPI-style decorators. The package is installed as `veil-api` and imported as `veil`.
31
+
32
+ ## Install
33
+
34
+ ```bash
35
+ pip install veil-api
36
+ pip install "veil-api[grpc]" # adds grpcio, for veil.grpc.Server (generated grpc_tools.protoc code)
37
+ pip install pydantic # optional: body validation and schema generation with models
38
+ ```
39
+
40
+ Pre-built wheels are published for:
41
+
42
+ - Linux: manylinux and musllinux, x86_64 and aarch64
43
+ - macOS: arm64 and x86_64
44
+ - Windows: x86_64
45
+
46
+ All wheels are abi3, so one wheel works on every Python 3.9 or newer.
47
+ Linux uses io_uring; the other platforms use the platform's native readiness API (kqueue, WSAPoll).
48
+
49
+ ## Quick start
50
+
51
+ ```python
52
+ import veil
53
+
54
+ @veil.get("/ping", offload=False)
55
+ def ping():
56
+ return "pong"
57
+
58
+ @veil.get("/hello/{name}")
59
+ def hello(name: str, greeting: str = "Hello"): # name: path parameter, greeting: query parameter
60
+ return {"message": f"{greeting}, {name}"}
61
+
62
+ @veil.post("/users", status_code=201,
63
+ body_constraints={"name": {"type": "string", "minLength": 1, "maxLength": 50, "required": True},
64
+ "age": {"type": "integer", "minimum": 0, "maximum": 120, "required": True}})
65
+ def create_user(body: dict):
66
+ return body
67
+
68
+ veil.run(listen_cleartext="127.0.0.1:8000") # stops gracefully on Ctrl-C / SIGTERM
69
+ ```
70
+
71
+ You can also create an application object, as in FastAPI:
72
+
73
+ ```python
74
+ app = veil.App(title="Demo", version="1.0")
75
+
76
+ @app.get("/")
77
+ def index():
78
+ return {"ok": True}
79
+
80
+ app.run(listen_cleartext="127.0.0.1:8000")
81
+ ```
82
+
83
+ The server also serves `/openapi.json` and Swagger UI at `/docs` (disable with `run(openapi=False)`).
84
+
85
+ ## Handlers at a glance
86
+
87
+ - **Arguments** are bound from the signature: a parameter named `req`/`request` (or annotated `veil.Request`)
88
+ receives the request; a name that appears in the path is a path parameter (converted by its `int`/`float`/`bool`/`str`
89
+ annotation); a pydantic `BaseModel`, `dict`/`list` annotation or the name `body` receives the JSON body;
90
+ anything else is a query parameter. Missing or invalid values produce a FastAPI-style 422 response.
91
+ - **Return values**: `dict`/`list`/numbers become JSON, `str` is `text/plain`, `bytes` is
92
+ `application/octet-stream`, `None` is 204; `veil.Response`, `veil.JSONResponse`, `(body, status)` and pydantic
93
+ models are also accepted. `raise veil.HTTPException(404, "not found")` produces `{"detail": "not found"}`.
94
+ An unhandled exception is printed to stderr and answered with 500.
95
+ - **Streaming**: generators (sync or async), `veil.StreamingResponse`, `veil.EventSourceResponse` (Server-Sent
96
+ Events) and `@veil.post(..., stream_body=True)` for streamed request bodies.
97
+ - **gRPC**: `veil.grpc.unary_unary` and friends (no dependencies), or `veil.grpc.Server` with grpcio-generated code.
98
+ - **WebSocket**: Python handlers cannot terminate WebSocket connections; use Server-Sent Events or streaming
99
+ responses for server push.
100
+ - **L4**: `@veil.l4_tcp` and `@veil.l4_udp` for raw TCP and UDP listeners.
101
+ - **Configuration**: `veil.run(config_path=None, *, listen_cleartext=None, listen=None, tls_cert=None, tls_key=None,
102
+ threads=None, overrides=None, openapi=True)`. `overrides` maps config keys to Python values, for example
103
+ `{"server.threads": 4}`. Use `listen` with `tls_cert` and `tls_key` for TLS (HTTP/2 and HTTP/3).
104
+ - **Access log**: one line per request is written to standard output by default (`[access_log] enabled = true`,
105
+ `format = "text"`). Turn it off with `overrides={"access_log.enabled": False}`.
106
+
107
+ ## Threads and the GIL
108
+
109
+ Python handlers run while holding the GIL.
110
+
111
+ - By default (`offload=True`) a handler runs on veil's handler thread pool (`[api] handler_threads`), so the
112
+ I/O worker threads never wait for the GIL and keep serving connections. `async def` handlers run on one event
113
+ loop per pool thread.
114
+ - With `offload=False` the handler runs directly on the I/O worker thread. Use it only for trivially cheap
115
+ handlers: blocking I/O or long GIL holds stall every connection that worker owns.
116
+ - Pure Python handlers are limited by the GIL; for CPU-bound work consider a multi-process deployment.
117
+ - Streaming responses are iterated on a handler pool thread. On an `offload=False` route the whole body is built
118
+ before it is sent.
119
+
120
+ ## Documentation
121
+
122
+ Full documentation (quick start, routing, requests and responses, dependency injection, long-lived connections, gRPC,
123
+ configuration and the API reference) is on Read the Docs: <https://veil-api.readthedocs.io>.
124
+
125
+ Source code, examples and issue tracker: <https://github.com/aofusa/veil-proxy>.
126
+
127
+ ## License
128
+
129
+ Apache-2.0 OR MIT
130
+
@@ -35,18 +35,10 @@ async fn main() -> Result<(), veil::api::Error> {
35
35
  }
36
36
  ```
37
37
 
38
- ## HTTP/3 on Linux needs one line of Cargo configuration
38
+ ## Build requirements
39
39
 
40
- On Linux, quiche shares rustls' `aws-lc-sys` and needs it built without symbol prefixes. Add this to
41
- `.cargo/config.toml` of your project (use your target triple; the build stops with this message when it is missing):
42
-
43
- ```toml
44
- [env]
45
- AWS_LC_SYS_NO_PREFIX_x86_64_unknown_linux_gnu = { value = "1", force = true }
46
- # AWS_LC_SYS_NO_PREFIX_aarch64_unknown_linux_gnu = { value = "1", force = true }
47
- ```
48
-
49
- Builds without the `http3` feature, and other operating systems, do not need it.
40
+ The `Cargo.toml` entry is all you need; there is nothing to add to `.cargo/config.toml`, also for HTTP/3 on Linux.
41
+ quiche and rustls share one `aws-lc-sys`, whose build needs a C compiler, CMake and libclang (bindgen).
50
42
 
51
43
  ## Documentation
52
44
 
@@ -0,0 +1,106 @@
1
+ # veil-api
2
+
3
+ FastAPI-like Python bindings for the [veil](https://github.com/aofusa/veil-proxy) API server.
4
+
5
+ Accepting connections, TLS, HTTP/1.1, HTTP/2, HTTP/3, gRPC and OpenAPI serving are handled
6
+ by the Rust data plane (io_uring on Linux), so Python only contains your handler functions, written with
7
+ FastAPI-style decorators. The package is installed as `veil-api` and imported as `veil`.
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ pip install veil-api
13
+ pip install "veil-api[grpc]" # adds grpcio, for veil.grpc.Server (generated grpc_tools.protoc code)
14
+ pip install pydantic # optional: body validation and schema generation with models
15
+ ```
16
+
17
+ Pre-built wheels are published for:
18
+
19
+ - Linux: manylinux and musllinux, x86_64 and aarch64
20
+ - macOS: arm64 and x86_64
21
+ - Windows: x86_64
22
+
23
+ All wheels are abi3, so one wheel works on every Python 3.9 or newer.
24
+ Linux uses io_uring; the other platforms use the platform's native readiness API (kqueue, WSAPoll).
25
+
26
+ ## Quick start
27
+
28
+ ```python
29
+ import veil
30
+
31
+ @veil.get("/ping", offload=False)
32
+ def ping():
33
+ return "pong"
34
+
35
+ @veil.get("/hello/{name}")
36
+ def hello(name: str, greeting: str = "Hello"): # name: path parameter, greeting: query parameter
37
+ return {"message": f"{greeting}, {name}"}
38
+
39
+ @veil.post("/users", status_code=201,
40
+ body_constraints={"name": {"type": "string", "minLength": 1, "maxLength": 50, "required": True},
41
+ "age": {"type": "integer", "minimum": 0, "maximum": 120, "required": True}})
42
+ def create_user(body: dict):
43
+ return body
44
+
45
+ veil.run(listen_cleartext="127.0.0.1:8000") # stops gracefully on Ctrl-C / SIGTERM
46
+ ```
47
+
48
+ You can also create an application object, as in FastAPI:
49
+
50
+ ```python
51
+ app = veil.App(title="Demo", version="1.0")
52
+
53
+ @app.get("/")
54
+ def index():
55
+ return {"ok": True}
56
+
57
+ app.run(listen_cleartext="127.0.0.1:8000")
58
+ ```
59
+
60
+ The server also serves `/openapi.json` and Swagger UI at `/docs` (disable with `run(openapi=False)`).
61
+
62
+ ## Handlers at a glance
63
+
64
+ - **Arguments** are bound from the signature: a parameter named `req`/`request` (or annotated `veil.Request`)
65
+ receives the request; a name that appears in the path is a path parameter (converted by its `int`/`float`/`bool`/`str`
66
+ annotation); a pydantic `BaseModel`, `dict`/`list` annotation or the name `body` receives the JSON body;
67
+ anything else is a query parameter. Missing or invalid values produce a FastAPI-style 422 response.
68
+ - **Return values**: `dict`/`list`/numbers become JSON, `str` is `text/plain`, `bytes` is
69
+ `application/octet-stream`, `None` is 204; `veil.Response`, `veil.JSONResponse`, `(body, status)` and pydantic
70
+ models are also accepted. `raise veil.HTTPException(404, "not found")` produces `{"detail": "not found"}`.
71
+ An unhandled exception is printed to stderr and answered with 500.
72
+ - **Streaming**: generators (sync or async), `veil.StreamingResponse`, `veil.EventSourceResponse` (Server-Sent
73
+ Events) and `@veil.post(..., stream_body=True)` for streamed request bodies.
74
+ - **gRPC**: `veil.grpc.unary_unary` and friends (no dependencies), or `veil.grpc.Server` with grpcio-generated code.
75
+ - **WebSocket**: Python handlers cannot terminate WebSocket connections; use Server-Sent Events or streaming
76
+ responses for server push.
77
+ - **L4**: `@veil.l4_tcp` and `@veil.l4_udp` for raw TCP and UDP listeners.
78
+ - **Configuration**: `veil.run(config_path=None, *, listen_cleartext=None, listen=None, tls_cert=None, tls_key=None,
79
+ threads=None, overrides=None, openapi=True)`. `overrides` maps config keys to Python values, for example
80
+ `{"server.threads": 4}`. Use `listen` with `tls_cert` and `tls_key` for TLS (HTTP/2 and HTTP/3).
81
+ - **Access log**: one line per request is written to standard output by default (`[access_log] enabled = true`,
82
+ `format = "text"`). Turn it off with `overrides={"access_log.enabled": False}`.
83
+
84
+ ## Threads and the GIL
85
+
86
+ Python handlers run while holding the GIL.
87
+
88
+ - By default (`offload=True`) a handler runs on veil's handler thread pool (`[api] handler_threads`), so the
89
+ I/O worker threads never wait for the GIL and keep serving connections. `async def` handlers run on one event
90
+ loop per pool thread.
91
+ - With `offload=False` the handler runs directly on the I/O worker thread. Use it only for trivially cheap
92
+ handlers: blocking I/O or long GIL holds stall every connection that worker owns.
93
+ - Pure Python handlers are limited by the GIL; for CPU-bound work consider a multi-process deployment.
94
+ - Streaming responses are iterated on a handler pool thread. On an `offload=False` route the whole body is built
95
+ before it is sent.
96
+
97
+ ## Documentation
98
+
99
+ Full documentation (quick start, routing, requests and responses, dependency injection, long-lived connections, gRPC,
100
+ configuration and the API reference) is on Read the Docs: <https://veil-api.readthedocs.io>.
101
+
102
+ Source code, examples and issue tracker: <https://github.com/aofusa/veil-proxy>.
103
+
104
+ ## License
105
+
106
+ Apache-2.0 OR MIT
@@ -7,10 +7,10 @@
7
7
  //! `std::env::set_var` してもこれらへは一切伝播しない(B-47)。
8
8
  //! ターゲット別の値と理由は `.cargo/config.toml` のコメントを参照。
9
9
  //!
10
- //! F-238: その `.cargo/config.toml` は、veil を依存として(crates.io・git から)使う側のビルドでは
11
- //! 読まれない。Linux の `http3` で値が無いと、リンクの段で quiche の BoringSSL のシンボルが見つからない
12
- //! という分かりにくい失敗になるので、ここで値を確かめ、要る設定を示して先に止める
13
- //! ([`check_aws_lc_no_prefix`])。
10
+ //! F-243: Linux の quiche は aws-lc-sys の Rust のバインディング経由で BoringSSL の API を呼ぶ
11
+ //! (`third_party/quiche/src/veil_ffi.rs`)ので、接頭辞の有無を問わずリンクできる。veil を依存として使う側は
12
+ //! `[env]` を書かなくてよい(以前はここで値を確かめて止めていた。F-238)。veil のリポジトリの `[env]` は、
13
+ //! 配布物のシンボル名を揃えるためだけに残している。
14
14
  //!
15
15
  //! F-120: クロスプラットフォーム対応(Phase 1)向けに、target_os / feature の
16
16
  //! 組み合わせから `veil_rt_uring` / `veil_rt_reactor` / `veil_poller_epoll` /
@@ -28,44 +28,6 @@ fn main() {
28
28
  emit_runtime_backend_cfg();
29
29
  emit_wasm_nosignals_cfg();
30
30
  emit_allocator_cfg();
31
- check_aws_lc_no_prefix();
32
- }
33
-
34
- /// F-238: Linux の `http3` は、quiche が rustls と同じ aws-lc-sys を BoringSSL 互換の非プレフィックスの
35
- /// シンボルで使う(B-47)。そのため aws-lc-sys のビルドに `AWS_LC_SYS_NO_PREFIX_<triple>=1` が要る。
36
- /// 値は aws-lc-sys のビルドスクリプトが読むので、ここでは設定できない(確かめるだけ)。docs.rs は
37
- /// リンクしない(rustdoc)ので確かめない。
38
- fn check_aws_lc_no_prefix() {
39
- let target = std::env::var("TARGET").unwrap_or_default();
40
- let suffixed = format!("AWS_LC_SYS_NO_PREFIX_{}", target.replace('-', "_"));
41
- println!("cargo:rerun-if-env-changed={suffixed}");
42
- println!("cargo:rerun-if-env-changed=AWS_LC_SYS_NO_PREFIX");
43
- println!("cargo:rerun-if-env-changed=DOCS_RS");
44
- let linux = std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("linux");
45
- if !linux || !feature_enabled("HTTP3") || std::env::var_os("DOCS_RS").is_some() {
46
- return;
47
- }
48
- // aws-lc-sys の parse_to_bool と同じ解釈(先頭が 0/n/off/f なら偽、数字/y/on/t なら真)。
49
- // 接尾辞付きの変数を優先する(aws-lc-sys と同じ順)。
50
- let value = std::env::var(&suffixed)
51
- .or_else(|_| std::env::var("AWS_LC_SYS_NO_PREFIX"))
52
- .unwrap_or_default();
53
- let v = value.trim().to_ascii_lowercase();
54
- let falsy = v.is_empty()
55
- || v.starts_with('0')
56
- || v.starts_with('n')
57
- || v.starts_with("off")
58
- || v.starts_with('f');
59
- if falsy {
60
- panic!(
61
- "veil-proxy: the `http3` feature on Linux needs aws-lc-sys built without symbol prefixes.\n\
62
- Add this to `.cargo/config.toml` of your project (or workspace) and rebuild:\n\n\
63
- [env]\n\
64
- {suffixed} = {{ value = \"1\", force = true }}\n\n\
65
- (quiche shares rustls' aws-lc-sys and needs its BoringSSL-compatible names; see\n\
66
- https://docs.rs/veil-proxy and docs/guide/library.md. Building without `http3` does not need it.)"
67
- );
68
- }
69
31
  }
70
32
 
71
33
  /// F-183: veil 専用アロケータ(`veil-alloc` feature)を実際に使うかの cfg エイリアス。
@@ -154,10 +116,11 @@ fn emit_runtime_backend_cfg() {
154
116
  println!("cargo::rustc-cfg=veil_poller_wsapoll");
155
117
  }
156
118
  other => {
119
+ // F-120/F-125/F-140: 対応 OS の一覧。
157
120
  panic!(
158
121
  "veil build.rs: unsupported target_os \"{other}\" — veil currently \
159
122
  supports target_os = \"linux\", \"freebsd\", \"openbsd\", \"macos\", \
160
- \"netbsd\", \"windows\" only (F-120/F-125/F-140)"
123
+ \"netbsd\", \"windows\" only"
161
124
  );
162
125
  }
163
126
  }
@@ -35,18 +35,10 @@ async fn main() -> Result<(), veil::api::Error> {
35
35
  }
36
36
  ```
37
37
 
38
- ## HTTP/3 on Linux needs one line of Cargo configuration
38
+ ## Build requirements
39
39
 
40
- On Linux, quiche shares rustls' `aws-lc-sys` and needs it built without symbol prefixes. Add this to
41
- `.cargo/config.toml` of your project (use your target triple; the build stops with this message when it is missing):
42
-
43
- ```toml
44
- [env]
45
- AWS_LC_SYS_NO_PREFIX_x86_64_unknown_linux_gnu = { value = "1", force = true }
46
- # AWS_LC_SYS_NO_PREFIX_aarch64_unknown_linux_gnu = { value = "1", force = true }
47
- ```
48
-
49
- Builds without the `http3` feature, and other operating systems, do not need it.
40
+ The `Cargo.toml` entry is all you need; there is nothing to add to `.cargo/config.toml`, also for HTTP/3 on Linux.
41
+ quiche and rustls share one `aws-lc-sys`, whose build needs a C compiler, CMake and libclang (bindgen).
50
42
 
51
43
  ## Documentation
52
44
 
@@ -0,0 +1,78 @@
1
+ // F-188 / F-189 / F-192
2
+ //! Procedural macros for the veil API library.
3
+ //!
4
+ //! Use them through the `veil` crate (`#[veil::route]`, `#[veil::main]`,
5
+ //! `#[derive(veil::Schema)]` and `#[veil::l4_handler]`). The generated code refers to its
6
+ //! dependencies through `::veil::api::__private`, so your crate does not need to add
7
+ //! dependencies such as `inventory` or `serde_json`.
8
+ // F-241: docs.rs にソースの表示を出さない(コメントは日本語のため)。
9
+ #![doc(html_no_source)]
10
+ use proc_macro::TokenStream;
11
+
12
+ mod l4;
13
+ mod main_attr;
14
+ mod route;
15
+ mod schema;
16
+ mod util;
17
+
18
+ /// Declares an HTTP route and registers the function as its handler.
19
+ ///
20
+ /// ```ignore
21
+ /// #[veil::route(path = "/users/{id}", method = "GET")]
22
+ /// async fn get_user(id: u64, verbose: Option<bool>) -> Json<User> { ... }
23
+ /// ```
24
+ ///
25
+ /// - `path` (required): `{name}` matches one segment, and a trailing `{*name}` matches the rest.
26
+ /// - `method = "GET"` / `methods = ["GET", "POST"]` (all methods if omitted).
27
+ /// - `name` (defaults to the function name), `tags = ["users"]`, `summary`, `description`,
28
+ /// `status = 201`, `offload = true` (synchronous functions are offloaded by default) and
29
+ /// `hidden = true` (leave the route out of OpenAPI).
30
+ ///
31
+ /// Arguments are interpreted by type and name, with the same rules as FastAPI: `&Request` /
32
+ /// `Request`, `Json<T>` (body), `Query<T>`, `Form<T>`, `State<T>`, `Headers` and `Bytes`. An
33
+ /// argument named like a `{name}` in the path is a path parameter, and any other simple type is
34
+ /// a query parameter (optional if it is an `Option<T>`). If the inner type of `Json`, `Query`
35
+ /// or `Form` derives `veil::Schema`, it is validated automatically and a failure returns 422.
36
+ #[proc_macro_attribute]
37
+ pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream {
38
+ route::expand(attr.into(), item.into())
39
+ .unwrap_or_else(|e| e.to_compile_error())
40
+ .into()
41
+ }
42
+
43
+ /// Registers an L4 (TCP/UDP) handler (`l4-handler` feature).
44
+ ///
45
+ /// ```ignore
46
+ /// #[veil::l4_handler(name = "echo", protocol = "tcp")]
47
+ /// async fn echo(conn: &mut L4Connection) -> Result<(), L4Error> { ... }
48
+ ///
49
+ /// #[veil::l4_handler(name = "udp_echo", protocol = "udp")]
50
+ /// async fn udp_echo(dgram: L4Datagram) -> Option<bytes::Bytes> { Some(dgram.data) }
51
+ /// ```
52
+ #[proc_macro_attribute]
53
+ pub fn l4_handler(attr: TokenStream, item: TokenStream) -> TokenStream {
54
+ l4::expand(attr.into(), item.into())
55
+ .unwrap_or_else(|e| e.to_compile_error())
56
+ .into()
57
+ }
58
+
59
+ /// Lets `async fn main()` start veil (so you can write `veil::serve(config).await`).
60
+ #[proc_macro_attribute]
61
+ pub fn main(attr: TokenStream, item: TokenStream) -> TokenStream {
62
+ main_attr::expand(attr.into(), item.into())
63
+ .unwrap_or_else(|e| e.to_compile_error())
64
+ .into()
65
+ }
66
+
67
+ /// Implements JSON Schema (OpenAPI) generation and automatic validation for a struct or enum.
68
+ ///
69
+ /// It accepts `#[validate(range(min = 1, max = 100))]`, `length(min, max, equal)`, `email`,
70
+ /// `url`, `nested` and `custom = "path::to::fn"` (`fn(&T) -> Result<(), impl Display>`), and
71
+ /// `#[schema(description, example, format, pattern)]`. Doc comments and the serde attributes
72
+ /// `rename`, `rename_all`, `default` and `skip` are respected.
73
+ #[proc_macro_derive(Schema, attributes(validate, schema))]
74
+ pub fn derive_schema(item: TokenStream) -> TokenStream {
75
+ schema::expand(item.into())
76
+ .unwrap_or_else(|e| e.to_compile_error())
77
+ .into()
78
+ }
@@ -1,4 +1,4 @@
1
- //! `#[veil::main]`: `async fn main()` を同期の `main` にして中身を実行する。
1
+ //! `#[veil::main]`: turns `async fn main()` into a synchronous `main` that runs its body.
2
2
 
3
3
  use proc_macro2::TokenStream;
4
4
  use quote::quote;
@@ -87,14 +87,14 @@ fn parse_args(attr: TokenStream) -> syn::Result<RouteArgs> {
87
87
  Ok(a)
88
88
  }
89
89
 
90
- /// 引数 1 個の扱い。
90
+ /// How one argument is handled.
91
91
  enum ArgKind {
92
92
  RequestRef,
93
93
  RequestOwned,
94
94
  Json(Type),
95
95
  Query(Type),
96
96
  Form(Type),
97
- /// `FromRequest` で取り出す(State・Headers・Bytes 等)
97
+ /// Extracted with `FromRequest` (State, Headers, Bytes and so on).
98
98
  FromRequest(Type),
99
99
  PathParam(String, Type),
100
100
  QueryParam {
@@ -144,7 +144,7 @@ fn classify(name: Option<&str>, ty: &Type, path_params: &[String]) -> ArgKind {
144
144
  }
145
145
  }
146
146
 
147
- /// 戻り値型から OpenAPI の応答スキーマを推測する(`Json<T>`・`Result<Json<T>, _>`・`(u16, Json<T>)`・文字列)。
147
+ /// Infers the OpenAPI response schema from the return type (`Json<T>`, `Result<Json<T>, _>`, `(u16, Json<T>)` or a string).
148
148
  fn response_content(ret: &ReturnType) -> TokenStream {
149
149
  let ty = match ret {
150
150
  ReturnType::Default => return quote!(None),
@@ -1,11 +1,11 @@
1
- //! `#[derive(veil::Schema)]`: JSON Schema(`ApiSchema`)と自動バリデーション(`Validate`)。
1
+ //! `#[derive(veil::Schema)]`: JSON Schema (`ApiSchema`) and automatic validation (`Validate`).
2
2
 
3
3
  use crate::util::{doc_text, lit_str, option_inner};
4
4
  use proc_macro2::TokenStream;
5
5
  use quote::quote;
6
6
  use syn::{spanned::Spanned, Attribute, Data, DeriveInput, Error, Expr, Fields, Lit, LitStr, Type};
7
7
 
8
- /// フィールド(またはコンテナ)の serde 属性のうち、スキーマに効くもの。
8
+ /// The serde attributes of a field (or container) that affect the schema.
9
9
  #[derive(Default)]
10
10
  struct SerdeAttrs {
11
11
  rename: Option<String>,
@@ -73,7 +73,7 @@ fn serde_attrs(attrs: &[Attribute]) -> SerdeAttrs {
73
73
  out
74
74
  }
75
75
 
76
- /// serde の `rename_all` を適用する。
76
+ /// Applies serde's `rename_all`.
77
77
  fn rename(name: &str, rule: Option<&str>) -> String {
78
78
  let words: Vec<String> = split_words(name);
79
79
  match rule {
@@ -108,7 +108,7 @@ fn capitalize(w: &str) -> String {
108
108
  }
109
109
  }
110
110
 
111
- /// `snake_case`・`PascalCase` の両方から単語に分ける。
111
+ /// Splits both `snake_case` and `PascalCase` into words.
112
112
  fn split_words(name: &str) -> Vec<String> {
113
113
  let mut words = Vec::new();
114
114
  for part in name.split('_').filter(|p| !p.is_empty()) {
@@ -131,7 +131,7 @@ fn split_words(name: &str) -> Vec<String> {
131
131
  words
132
132
  }
133
133
 
134
- /// `#[validate(...)]` と `#[schema(...)]` の内容。
134
+ /// The contents of `#[validate(...)]` and `#[schema(...)]`.
135
135
  #[derive(Default)]
136
136
  struct Rules {
137
137
  min: Option<f64>,
@@ -308,7 +308,7 @@ fn opt_usize(v: Option<u64>) -> TokenStream {
308
308
  }
309
309
  }
310
310
 
311
- /// フィールドのスキーマに付ける制約(JSON Schema のキーワード)。
311
+ /// The constraints (JSON Schema keywords) attached to a field's schema.
312
312
  fn constraint_inserts(r: &Rules, desc: &Option<String>) -> TokenStream {
313
313
  let mut ins = Vec::new();
314
314
  let put = |k: &str, v: TokenStream| quote!(__c.insert(#k.into(), ::veil::api::__private::serde_json::json!(#v)););