daml/ledger-api
Samir Talwar d6fc2bbb58
ledger-api-client + participant-integration-api: Increase the default maximum inbound error size, and truncate errors well before that. (#6807)
* participant-integration-api: `GrpcServerOwner` -> `GrpcServer.Owner`.

Mostly so I can create a test class named `GrpcServerSpec`.

* ports: Move the free port search from postgresql-testing.

* participant-integration-api: Test the basics of GrpcServer.

This uses the HelloService to make sure the server behaves normally.

* ledger-api-client: Extract out channel configuration from LedgerClient.

So we can test it independently of the LedgerClient itself.

* ledger-api-client: Increase the default maximum inbound header size.

Increased from 8 KB to 1 MB.

* participant-integration-api: Reduce the maximum error message size.

Truncate GRPC error descriptions to 256 KB.

* participant-integration-api: Use `Port.Dynamic` instead of `FreePort`.

In tests.

* participant-integration-api: Explicit null checks when they're shorter.

Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com>

* ledger-api-client: Reduce the max inbound message size back to 8 KB.

And reduce the maximum size of an error description pushed out by the
server accordingly.

CHANGELOG_BEGIN
- [Integration Kit] Truncate GPRC error messages at 4 KB. This ensures
  that we won't trigger a protocol error when sending errors to the
  client.
CHANGELOG_END

Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com>
2020-07-21 15:50:33 +00:00
..
grpc-definitions Stop publishing a tarball with the protobuf files to Maven (#6742) 2020-07-15 18:48:49 +02:00
perf-testing disable warts.Any and remove most suppressions (#6132) 2020-05-28 16:53:41 +00:00
rs-grpc-akka disable warts.Any and remove most suppressions (#6132) 2020-05-28 16:53:41 +00:00
rs-grpc-bridge rs-grpc-bridge: If the execution sequencer pool is closed, fail fast. (#6474) 2020-06-24 14:10:45 +00:00
rs-grpc-testing-utils Use com.daml as root package (#5343) 2020-04-05 19:49:57 +02:00
sample-service ledger-api-client + participant-integration-api: Increase the default maximum inbound error size, and truncate errors well before that. (#6807) 2020-07-21 15:50:33 +00:00
scripts open-sourcing daml 2019-04-04 09:33:38 +01:00
testing-utils Use com.daml as root package (#5343) 2020-04-05 19:49:57 +02:00
.gitignore open-sourcing daml 2019-04-04 09:33:38 +01:00
.sbtopts open-sourcing daml 2019-04-04 09:33:38 +01:00
BUILD.bazel replace DAML Authors with DA in copyright headers (#5228) 2020-03-27 01:26:10 +01:00
README.md correct broken ledger-api-introduction links (#1565) 2019-06-07 15:18:21 -04:00

Ledger-API

This is the API code for the ledger, which contains:

  • gRPC API definitions
  • Generated Scala bindings
  • gRPC-RS bridge
  • gRPC-Akka bridge
  • Server API classes with validation
  • Prototype Server
  • Prototype Clients
    • Scala
    • Python
    • Node.js
  • Integration tests for all of the above

Documentation

The Ledger API Introduction contains introductory material as well as links to the protodocs reference documentation.

See the docs README for more about how to preview and publish documentation.