类 MessagingServiceGrpc.MessagingServiceFutureStub

  • 封闭类:
    MessagingServiceGrpc

    public static final class MessagingServiceGrpc.MessagingServiceFutureStub
    extends io.grpc.stub.AbstractFutureStub<MessagingServiceGrpc.MessagingServiceFutureStub>
     For all the RPCs in MessagingService, the following error handling policies
     apply:
     If the request doesn't bear a valid authentication credential, return a
     response with common.status.code == `UNAUTHENTICATED`. If the authenticated
     user is not granted with sufficient permission to execute the requested
     operation, return a response with common.status.code == `PERMISSION_DENIED`.
     If the per-user-resource-based quota is exhausted, return a response with
     common.status.code == `RESOURCE_EXHAUSTED`. If any unexpected server-side
     errors raise, return a response with common.status.code == `INTERNAL`.
     
    • 方法详细资料

      • queryRoute

        public com.google.common.util.concurrent.ListenableFuture<QueryRouteResponse> queryRoute​(QueryRouteRequest request)
         Queries the route entries of the requested topic in the perspective of the
         given endpoints. On success, servers should return a collection of
         addressable message-queues. Note servers may return customized route
         entries based on endpoints provided.
         If the requested topic doesn't exist, returns `NOT_FOUND`.
         If the specific endpoints is empty, returns `INVALID_ARGUMENT`.
         
      • heartbeat

        public com.google.common.util.concurrent.ListenableFuture<HeartbeatResponse> heartbeat​(HeartbeatRequest request)
         Producer or consumer sends HeartbeatRequest to servers periodically to
         keep-alive. Additionally, it also reports client-side configuration,
         including topic subscription, load-balancing group name, etc.
         Returns `OK` if success.
         If a client specifies a language that is not yet supported by servers,
         returns `INVALID_ARGUMENT`
         
      • sendMessage

        public com.google.common.util.concurrent.ListenableFuture<SendMessageResponse> sendMessage​(SendMessageRequest request)
         Delivers messages to brokers.
         Clients may further:
         1. Refine a message destination to message-queues which fulfills parts of
         FIFO semantic;
         2. Flag a message as transactional, which keeps it invisible to consumers
         until it commits;
         3. Time a message, making it invisible to consumers till specified
         time-point;
         4. And more...
         Returns message-id or transaction-id with status `OK` on success.
         If the destination topic doesn't exist, returns `NOT_FOUND`.
         
      • queryAssignment

        public com.google.common.util.concurrent.ListenableFuture<QueryAssignmentResponse> queryAssignment​(QueryAssignmentRequest request)
         Queries the assigned route info of a topic for current consumer,
         the returned assignment result is decided by server-side load balancer.
         If the corresponding topic doesn't exist, returns `NOT_FOUND`.
         If the specific endpoints is empty, returns `INVALID_ARGUMENT`.
         
      • ackMessage

        public com.google.common.util.concurrent.ListenableFuture<AckMessageResponse> ackMessage​(AckMessageRequest request)
         Acknowledges the message associated with the `receipt_handle` or `offset`
         in the `AckMessageRequest`, it means the message has been successfully
         processed. Returns `OK` if the message server remove the relevant message
         successfully.
         If the given receipt_handle is illegal or out of date, returns
         `INVALID_ARGUMENT`.
         
      • changeInvisibleDuration

        public com.google.common.util.concurrent.ListenableFuture<ChangeInvisibleDurationResponse> changeInvisibleDuration​(ChangeInvisibleDurationRequest request)
         Once a message is retrieved from consume queue on behalf of the group, it
         will be kept invisible to other clients of the same group for a period of
         time. The message is supposed to be processed within the invisible
         duration. If the client, which is in charge of the invisible message, is
         not capable of processing the message timely, it may use
         ChangeInvisibleDuration to lengthen invisible duration.