public static final class CommandSubmissionServiceGrpc.CommandSubmissionServiceStub extends io.grpc.stub.AbstractAsyncStub<CommandSubmissionServiceGrpc.CommandSubmissionServiceStub>
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 synchronously in the gRPC error of the submission. 2. Failure communicated asynchronously in a Completion, see ``completion.proto``. Note that not only successfully submitted commands MAY produce a completion event. For example, the participant MAY choose to produce a completion event for a rejection of a duplicate command. 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.
Modifier and Type | Method and Description |
---|---|
protected CommandSubmissionServiceGrpc.CommandSubmissionServiceStub |
build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) |
void |
submit(CommandSubmissionServiceOuterClass.SubmitRequest request,
io.grpc.stub.StreamObserver<com.google.protobuf.Empty> responseObserver)
Submit a single composite command.
|
protected CommandSubmissionServiceGrpc.CommandSubmissionServiceStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
build
in class io.grpc.stub.AbstractStub<CommandSubmissionServiceGrpc.CommandSubmissionServiceStub>
public void submit(CommandSubmissionServiceOuterClass.SubmitRequest request, io.grpc.stub.StreamObserver<com.google.protobuf.Empty> responseObserver)
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 or if a resource is missing (e.g. contract key) due to for example contention on resources - ``ALREADY_EXISTS`` if a resource is duplicated (e.g. contract key) - ``INVALID_ARGUMENT``: if the payload is malformed or is missing required fields - ``ABORTED``: if the number of in-flight commands reached the maximum (if a limit is configured) - ``FAILED_PRECONDITION``: on consistency errors (e.g. the contract key has changed since the submission) or if an interpretation error occurred - ``UNAVAILABLE``: if the participant is not yet ready to submit commands or if the service has been shut down.