Skip to content

Latest commit

 

History

History
22 lines (16 loc) · 1.22 KB

File metadata and controls

22 lines (16 loc) · 1.22 KB

PBJ Runtime

The core runtime library that all PBJ-generated code depends on. Builds into pbj-runtime-VERSION.jar.

For codec architecture, see codecs.md. For IO abstractions and streaming data, see codecs.md - Streaming Data Abstractions. For usage examples, see usage-guide.md.

Contents

  • Codec interfacesCodec<T> for protobuf binary, JsonCodec<T> for JSON serialization
  • IO abstractionsReadableSequentialData, WritableSequentialData, BufferedData, Bytes — a unified API for streams, buffers, and byte arrays
  • Serialization helpersProtoParserTools, ProtoWriterTools, ProtoArrayWriterTools, JsonTools
  • Collection typesPbjMap<K,V> (deterministic key ordering), UnmodifiableArrayList<E>, OneOf<E>
  • gRPC interfacesServiceInterface, Pipeline, GrpcClient, GrpcCall
  • Test utilitiesProtoTestTools and com.hedera.pbj.runtime.test package (for generated test code only, not production use)

Testing

cd pbj-core
./gradlew pbj-runtime:test
./gradlew pbj-runtime:jacocoTestReport   # coverage report in build/reports/jacoco/test/html/