computeHeadCursor method

Future<ComputeHeadCursorResponse> computeHeadCursor(
  1. ComputeHeadCursorRequest request,
  2. String topic, {
  3. String? $fields,
})

Compute the head cursor for the partition.

The head cursor's offset is guaranteed to be less than or equal to all messages which have not yet been acknowledged as published, and greater than the offset of any message whose publish has already been acknowledged. It is zero if there have never been messages in the partition.

request - The metadata request object.

Request parameters:

topic - Required. The topic for which we should compute the head cursor. Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+/topics/\[^/\]+$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a ComputeHeadCursorResponse.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<ComputeHeadCursorResponse> computeHeadCursor(
  ComputeHeadCursorRequest request,
  core.String topic, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ =
      'v1/topicStats/' + core.Uri.encodeFull('$topic') + ':computeHeadCursor';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return ComputeHeadCursorResponse.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}