public static final class CommandSubmissionServiceGrpc.CommandSubmissionServiceFutureStub extends io.grpc.stub.AbstractFutureStub<CommandSubmissionServiceGrpc.CommandSubmissionServiceFutureStub>
Allows clients to attempt advancing the ledger's state by submitting commands. The final states of their submissions are disclosed by the Command Completion Service. The on-ledger effects of their submissions are disclosed by the Transaction Service. Commands may fail in 2 distinct manners: 1. Failure communicated in the gRPC error of the submission. 2. Failure communicated in a Completion. Only successfully submitted commands may produce a completion event. Clients that do not receive a successful completion about their submission MUST NOT assume that it was successful. Clients SHOULD subscribe to the CompletionStream before starting to submit commands to prevent race conditions. Interprocess tracing of command submissions may be achieved via Zipkin by filling out the ``trace_context`` field. The server will return a child context of the submitted one, (or a new one if the context was missing) on both the Completion and Transaction streams.
Modifier and Type | Method and Description |
---|---|
protected CommandSubmissionServiceGrpc.CommandSubmissionServiceFutureStub |
build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) |
com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> |
submit(CommandSubmissionServiceOuterClass.SubmitRequest request)
Submit a single composite command.
|
protected CommandSubmissionServiceGrpc.CommandSubmissionServiceFutureStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
build
in class io.grpc.stub.AbstractStub<CommandSubmissionServiceGrpc.CommandSubmissionServiceFutureStub>
public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> submit(CommandSubmissionServiceOuterClass.SubmitRequest request)
Submit a single composite command. Errors: - ``UNAUTHENTICATED``: if the request does not include a valid access token - ``PERMISSION_DENIED``: if the claims in the token are insufficient to perform a given operation - ``NOT_FOUND``: if the request does not include a valid ledger id - ``INVALID_ARGUMENT``: if the payload is malformed or is missing required fields - ``UNAVAILABLE``: if the participant is not yet ready to submit commands or if the service has been shut down. - ``RESOURCE_EXHAUSTED``: if the participant or the ledger is overloaded. Clients should back off exponentially and retry.