php/grpc/Apache/Rocketmq/V2/MessagingServiceClient.php (82 lines of code) (raw):
<?php
// GENERATED CODE -- DO NOT EDIT!
// Original file comments:
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
namespace Apache\Rocketmq\V2;
/**
* 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`.
*/
class MessagingServiceClient extends \Grpc\BaseStub {
/**
* @param string $hostname hostname
* @param array $opts channel options
* @param \Grpc\Channel $channel (optional) re-use channel object
*/
public function __construct($hostname, $opts, $channel = null) {
parent::__construct($hostname, $opts, $channel);
}
/**
* 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`.
* @param \Apache\Rocketmq\V2\QueryRouteRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function QueryRoute(\Apache\Rocketmq\V2\QueryRouteRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/apache.rocketmq.v2.MessagingService/QueryRoute',
$argument,
['\Apache\Rocketmq\V2\QueryRouteResponse', 'decode'],
$metadata, $options);
}
/**
* 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`
* @param \Apache\Rocketmq\V2\HeartbeatRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function Heartbeat(\Apache\Rocketmq\V2\HeartbeatRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/apache.rocketmq.v2.MessagingService/Heartbeat',
$argument,
['\Apache\Rocketmq\V2\HeartbeatResponse', 'decode'],
$metadata, $options);
}
/**
* 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`.
* @param \Apache\Rocketmq\V2\SendMessageRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function SendMessage(\Apache\Rocketmq\V2\SendMessageRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/apache.rocketmq.v2.MessagingService/SendMessage',
$argument,
['\Apache\Rocketmq\V2\SendMessageResponse', 'decode'],
$metadata, $options);
}
/**
* 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`.
* @param \Apache\Rocketmq\V2\QueryAssignmentRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function QueryAssignment(\Apache\Rocketmq\V2\QueryAssignmentRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/apache.rocketmq.v2.MessagingService/QueryAssignment',
$argument,
['\Apache\Rocketmq\V2\QueryAssignmentResponse', 'decode'],
$metadata, $options);
}
/**
* Receives messages from the server in batch manner, returns a set of
* messages if success. The received messages should be acked or redelivered
* after processed.
*
* If the pending concurrent receive requests exceed the quota of the given
* consumer group, returns `UNAVAILABLE`. If the upstream store server hangs,
* return `DEADLINE_EXCEEDED` in a timely manner. If the corresponding topic
* or consumer group doesn't exist, returns `NOT_FOUND`. If there is no new
* message in the specific topic, returns `OK` with an empty message set.
* Please note that client may suffer from false empty responses.
*
* If failed to receive message from remote, server must return only one
* `ReceiveMessageResponse` as the reply to the request, whose `Status` indicates
* the specific reason of failure, otherwise, the reply is considered successful.
* @param \Apache\Rocketmq\V2\ReceiveMessageRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\ServerStreamingCall
*/
public function ReceiveMessage(\Apache\Rocketmq\V2\ReceiveMessageRequest $argument,
$metadata = [], $options = []) {
return $this->_serverStreamRequest('/apache.rocketmq.v2.MessagingService/ReceiveMessage',
$argument,
['\Apache\Rocketmq\V2\ReceiveMessageResponse', 'decode'],
$metadata, $options);
}
/**
* 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`.
* @param \Apache\Rocketmq\V2\AckMessageRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function AckMessage(\Apache\Rocketmq\V2\AckMessageRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/apache.rocketmq.v2.MessagingService/AckMessage',
$argument,
['\Apache\Rocketmq\V2\AckMessageResponse', 'decode'],
$metadata, $options);
}
/**
* Forwards one message to dead letter queue if the max delivery attempts is
* exceeded by this message at client-side, return `OK` if success.
* @param \Apache\Rocketmq\V2\ForwardMessageToDeadLetterQueueRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function ForwardMessageToDeadLetterQueue(\Apache\Rocketmq\V2\ForwardMessageToDeadLetterQueueRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/apache.rocketmq.v2.MessagingService/ForwardMessageToDeadLetterQueue',
$argument,
['\Apache\Rocketmq\V2\ForwardMessageToDeadLetterQueueResponse', 'decode'],
$metadata, $options);
}
/**
* Commits or rollback one transactional message.
* @param \Apache\Rocketmq\V2\EndTransactionRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function EndTransaction(\Apache\Rocketmq\V2\EndTransactionRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/apache.rocketmq.v2.MessagingService/EndTransaction',
$argument,
['\Apache\Rocketmq\V2\EndTransactionResponse', 'decode'],
$metadata, $options);
}
/**
* Once a client starts, it would immediately establishes bi-lateral stream
* RPCs with brokers, reporting its settings as the initiative command.
*
* When servers have need of inspecting client status, they would issue
* telemetry commands to clients. After executing received instructions,
* clients shall report command execution results through client-side streams.
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\BidiStreamingCall
*/
public function Telemetry($metadata = [], $options = []) {
return $this->_bidiRequest('/apache.rocketmq.v2.MessagingService/Telemetry',
['\Apache\Rocketmq\V2\TelemetryCommand','decode'],
$metadata, $options);
}
/**
* Notify the server that the client is terminated.
* @param \Apache\Rocketmq\V2\NotifyClientTerminationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function NotifyClientTermination(\Apache\Rocketmq\V2\NotifyClientTerminationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/apache.rocketmq.v2.MessagingService/NotifyClientTermination',
$argument,
['\Apache\Rocketmq\V2\NotifyClientTerminationResponse', 'decode'],
$metadata, $options);
}
/**
* 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.
* @param \Apache\Rocketmq\V2\ChangeInvisibleDurationRequest $argument input argument
* @param array $metadata metadata
* @param array $options call options
* @return \Grpc\UnaryCall
*/
public function ChangeInvisibleDuration(\Apache\Rocketmq\V2\ChangeInvisibleDurationRequest $argument,
$metadata = [], $options = []) {
return $this->_simpleRequest('/apache.rocketmq.v2.MessagingService/ChangeInvisibleDuration',
$argument,
['\Apache\Rocketmq\V2\ChangeInvisibleDurationResponse', 'decode'],
$metadata, $options);
}
}