The GitHub Actions job "Validate and test" on pekko-grpc.git/main has succeeded. Run started by GitHub user pjfanning (triggered by pjfanning).
Head commit for run: 6c8dc2baf9d9c689c92e8d907e8af9489134e856 / PJ Fanning <[email protected]> Encode response data frames through GrpcProtocolWriter with deferred writes (#909) * Generalise unary response optimisation. Encapsulate optimisation of unary responses into a GrpcProtocol/GrpcProtocolWriter concern, allowing it to be applied to other variants. This removes the need for the frame encoder, as this is just a map with encodeFrame. * Keep the frame serializer types internal. Motivation: The deferred data frame change made ProtobufFrameSerializer a public @ApiMayChange trait, which would expose the internal DeferredDataWriter to anyone extending the public serializers. Modification: - Keep ProtobufFrameSerializer private[grpc], as it is on main. - Make DeferredDataWriter's methods, and the ScalaPB and Google serializers' implementations of them, private[grpc]. - Add the MiMa filters for the Scala 3 positional accessors of GrpcProtocolReader and GrpcProtocolWriter, and rename the filter file after the change. - Remove debug println output from the serializer specs. Result: No new public API. Binary compatibility passes on Scala 2.13 and 3. Tests: - sbt runtime/test: 180 passed - sbt +runtime/mimaReportBinaryIssues: passed References: Refs #905 * Add a benchmark for encoding response data frames. Motivation: The deferred data frame change affects how response messages are written into gRPC frames, but no benchmark covered gRPC-Web responses. Modification: Add FrameWriteBenchmark, which marshals unary and streamed responses for the native and gRPC-Web protocols without compression, with 16 B, 1 KiB and 64 KiB bytes payloads. Result: Frame encoding can be compared with main. Tests: - sbt benchmarks/Jmh/compile: passed References: Refs #905 * Fix FrameWriteBenchmark formatting and Scala 3.9 warnings. Replace the deprecated = _ initializers, which fail the next build under -Werror, and apply scalafmt. * Use the pekko import prefix for DeferredDataFrame imports. * Fix the frane parameter name typo in GrpcProtocolWeb. * Use OutboundFrame in GrpcProtocolWeb encodeFrame and encodeFrameToBytes, matching GrpcProtocolNative. --------- Co-authored-by: Tim Whittington <[email protected]> Co-authored-by: PJ Fanning <[email protected]> Report URL: https://github.com/apache/pekko-grpc/actions/runs/39456420373 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
