Posts in 2024
-
Release v0.9.0
Thursday, January 04, 2024 in Volo
项目:
Volo 0.9.0 版本中,我们主要将默认生成的 HashSet/HashMap 类型修改为了 AHashMap/AHashSet, 预期会带来一定的性能提升。此外,随着 Rust 1.75 的发布,Volo 已经可以在 stable rust 中使用了。 Break Change 默认生成的 HashSet / HashMap 类型修改 在新版生成代码中,默认生成的 HashMap/HashSet 类型修改为了 AHashMap/AHashSet,这相比 std 的 map 会带来更高的性 …
Posts in 2023
-
Release v0.8.0
Monday, October 23, 2023 in Volo
项目:
Volo 0.8.0 版本中,我们主要使用了 AFIT(Async Fn In Trait) 和 RPITIT(Return Position Impl Trait In Traits) 这两个刚刚 stabilized 的 feature 重构了 Service trait 和之前所有用了 async_trait 的地方,除了会有略微的性能提升外,更重要的是,接下来写 Service 可以直接写 async fn call 了,易用性会有较大的提升。 Break Change Service …
-
Release v0.5.4
Monday, August 28, 2023 in Volo
项目:
Volo 0.5.4 版本中,除了常规 bugfix 之外,还有一些新的 feature 引入。 Thrift 协议支持 Unknown Fields Motivation 保留 Thrift 解码中未被识别的字段,使用场景比如代理使用IDL的子集解析完整数据,其中未识别的数据将保留成为未识别字段,并透传到下游,可以减少本服务不必要的 IDL 更新或者只解析关心的子集部分。 Solution 在解码 read 步骤时,对于未识别的字段递归进行skip得到长度后,将对应长度的一段 bytes …
-
Release v0.5.0
Friday, June 02, 2023 in Volo
项目:
Volo 0.5.0 版本中,除了常规 bugfix 之外,还有一些新的 feature 引入。 Pilota-build compile 接口变动 如果有需要自己编译 idl 的用户,在这个版本中需要适配一下新的compile接口,参数改动很简单,如下: xxx.compile(&["idl/collector.proto"],pilota_build::Output::File(out_dir),);只需要在原先的out_dir上加一 …
-
Release v0.4.1
Monday, March 20, 2023 in Volo
项目:
Volo 0.4.1 版本中,除了常规 bugfix 之外,还有一些新的 feature 引入。 更为详细的 Thrift Decode 错误信息 之前版本的 Thrift Decode 错误信息只会报告出最基本的错误,而不带有任何上下文。 比如含有如下结构关系 structA{1:requiredBb,}structB{2:requiredCc,}structC{3:requiredstringa,}在对结构C的字段a进行 Decode 如果发生错误。在之前的版本中错误信息只会报告针对出a字段 …
-
Release v0.3.2
Tuesday, February 07, 2023 in Volo
项目:
Volo 0.3.2 版本中,除了常规 bugfix 之外,还有多处改进。尤其是,有社区贡献者为我们带来了重要的 feature,非常感谢他们。 Thrift 异步编解码 Trait 支持 @ii64 在 #123 中为我们带来了 Thrift 异步编解码 Trait 的定义和 Binary、Apache Compact Protocol 的实现,在此之前他还为 Pilota 贡献了编解码的底层实现! gRPC graceful shutdown 支持 @iGxnon 在 #127 中为我们带来 …
Posts in 2022
-
Release v0.3.0
Thursday, December 22, 2022 in Volo
项目:
Volo 0.3.0 版本中,除了常规 bugfix 之外,我们还带来了多个重要 feature。 Service Trait 重构 Volo 0.3.0 版本中,我们对 Service Trait 进行了重构,使得 Service Trait 的实现更加简单,同时也提供了更多的灵活性。 具体来看,我们将 Service Trait 的定义从: pubtraitService<Cx,Request>{/// Responses given by the service. type …
-
Release v0.2.1
Wednesday, October 26, 2022 in Volo
项目:
[#61] 优化了 Volo-Thrift 的代码,移除了一些不必要的泛型参数,简化代码。 [#63] 跟进了 2022-10-20 后 nightly 编译器不再允许 TAIT elition lifetime 的问题。 [#73] 绕过了 Rust 编译器的 #100013 issue: non-defining opaque type use in defining scope。 [#65] feat: 升级 Volo-cli 的 clap 版本到 4.x。 [#72] feat: …
-
Release v0.2.0
Tuesday, October 18, 2022 in Volo
项目:
Feature [#31] 支持 Windows。 [#26] volo-grpc 增加对 service discovery 和 load balance 的支持。 [#45] volo-grpc 支持 uds。 [#32] volo-grpc 支持 metainfo 进行元信息传递。 [#30] volo-grpc Server 增加 layer_front 方法。 [#42] volo-thrift 支持 multiplex。 Optimize [#53] …