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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub (1.15.13)\n\nVersion latestkeyboard_arrow_down\n\n- [1.15.13 (latest)](/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.15.12](/java/docs/reference/google-cloud-pubsublite/1.15.12/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.14.8](/java/docs/reference/google-cloud-pubsublite/1.14.8/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.13.8](/java/docs/reference/google-cloud-pubsublite/1.13.8/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.12.22](/java/docs/reference/google-cloud-pubsublite/1.12.22/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.11.2](/java/docs/reference/google-cloud-pubsublite/1.11.2/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.10.0](/java/docs/reference/google-cloud-pubsublite/1.10.0/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.9.4](/java/docs/reference/google-cloud-pubsublite/1.9.4/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.8.0](/java/docs/reference/google-cloud-pubsublite/1.8.0/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.7.1](/java/docs/reference/google-cloud-pubsublite/1.7.1/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.6.3](/java/docs/reference/google-cloud-pubsublite/1.6.3/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.5.5](/java/docs/reference/google-cloud-pubsublite/1.5.5/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub)\n- [1.4.12](/java/docs/reference/google-cloud-pubsublite/1.4.12/com.google.cloud.pubsublite.proto.TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub) \n\n public static final class TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub extends AbstractBlockingStub\u003cTopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub\u003e\n\nA stub to allow clients to do synchronous rpc calls to service TopicStatsService.\n\nThis service allows users to get stats about messages in their topic. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e io.grpc.stub.AbstractStub \\\u003e io.grpc.stub.AbstractBlockingStub \\\u003e TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub \n\nInherited Members\n-----------------\n\nio.grpc.stub.AbstractBlockingStub.\\\u003cT\\\u003enewStub(io.grpc.stub.AbstractStub.StubFactory\\\u003cT\\\u003e,io.grpc.Channel) \nio.grpc.stub.AbstractBlockingStub.\\\u003cT\\\u003enewStub(io.grpc.stub.AbstractStub.StubFactory\\\u003cT\\\u003e,io.grpc.Channel,io.grpc.CallOptions) \nio.grpc.stub.AbstractStub.\\\u003cT\\\u003ewithOption(io.grpc.CallOptions.Key\\\u003cT\\\u003e,T) \nio.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions) \nio.grpc.stub.AbstractStub.getCallOptions() \nio.grpc.stub.AbstractStub.getChannel() \nio.grpc.stub.AbstractStub.withCallCredentials(io.grpc.CallCredentials) \nio.grpc.stub.AbstractStub.withChannel(io.grpc.Channel) \nio.grpc.stub.AbstractStub.withCompression(java.lang.String) \nio.grpc.stub.AbstractStub.withDeadline(io.grpc.Deadline) \nio.grpc.stub.AbstractStub.withDeadlineAfter(java.time.Duration) \nio.grpc.stub.AbstractStub.withDeadlineAfter(long,java.util.concurrent.TimeUnit) \nio.grpc.stub.AbstractStub.withExecutor(java.util.concurrent.Executor) \nio.grpc.stub.AbstractStub.withInterceptors(io.grpc.ClientInterceptor...) \nio.grpc.stub.AbstractStub.withMaxInboundMessageSize(int) \nio.grpc.stub.AbstractStub.withMaxOutboundMessageSize(int) \nio.grpc.stub.AbstractStub.withOnReadyThreshold(int) \nio.grpc.stub.AbstractStub.withWaitForReady() \n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nMethods\n-------\n\n### build(Channel channel, CallOptions callOptions)\n\n protected TopicStatsServiceGrpc.TopicStatsServiceBlockingV2Stub build(Channel channel, CallOptions callOptions)\n\n**Overrides** \nio.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)\n\n### computeHeadCursor(ComputeHeadCursorRequest request)\n\n public ComputeHeadCursorResponse computeHeadCursor(ComputeHeadCursorRequest request)\n\nCompute the head cursor for the partition.\nThe head cursor's offset is guaranteed to be less than or equal to all\nmessages which have not yet been acknowledged as published, and\ngreater than the offset of any message whose publish has already\nbeen acknowledged. It is zero if there have never been messages in the\npartition.\n\n### computeMessageStats(ComputeMessageStatsRequest request)\n\n public ComputeMessageStatsResponse computeMessageStats(ComputeMessageStatsRequest request)\n\nCompute statistics about a range of messages in a given topic and\npartition.\n\n### computeTimeCursor(ComputeTimeCursorRequest request)\n\n public ComputeTimeCursorResponse computeTimeCursor(ComputeTimeCursorRequest request)\n\nCompute the corresponding cursor for a publish or event time in a topic\npartition."]]