diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ComputeTimeCursorRequest.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ComputeTimeCursorRequest.java index 72dfa039b..9d0090161 100644 --- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ComputeTimeCursorRequest.java +++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ComputeTimeCursorRequest.java @@ -147,8 +147,8 @@ public long getPartition() { * * *
- * Required. The target publish or event time. Specifying a future time will return an - * unset cursor. + * Required. The target publish or event time. Specifying a future time will + * return an unset cursor. ** *
@@ -165,8 +165,8 @@ public boolean hasTarget() {
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -185,8 +185,8 @@ public com.google.cloud.pubsublite.proto.TimeTarget getTarget() {
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -776,8 +776,8 @@ public Builder clearPartition() {
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -793,8 +793,8 @@ public boolean hasTarget() {
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -816,8 +816,8 @@ public com.google.cloud.pubsublite.proto.TimeTarget getTarget() {
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -841,8 +841,8 @@ public Builder setTarget(com.google.cloud.pubsublite.proto.TimeTarget value) {
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -863,8 +863,8 @@ public Builder setTarget(com.google.cloud.pubsublite.proto.TimeTarget.Builder bu
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -891,8 +891,8 @@ public Builder mergeTarget(com.google.cloud.pubsublite.proto.TimeTarget value) {
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -913,8 +913,8 @@ public Builder clearTarget() {
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -930,8 +930,8 @@ public com.google.cloud.pubsublite.proto.TimeTarget.Builder getTargetBuilder() {
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -951,8 +951,8 @@ public com.google.cloud.pubsublite.proto.TimeTargetOrBuilder getTargetOrBuilder(
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ComputeTimeCursorRequestOrBuilder.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ComputeTimeCursorRequestOrBuilder.java
index bcdc28ff5..410548f67 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ComputeTimeCursorRequestOrBuilder.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ComputeTimeCursorRequestOrBuilder.java
@@ -69,8 +69,8 @@ public interface ComputeTimeCursorRequestOrBuilder
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -84,8 +84,8 @@ public interface ComputeTimeCursorRequestOrBuilder
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
@@ -99,8 +99,8 @@ public interface ComputeTimeCursorRequestOrBuilder
*
*
*
- * Required. The target publish or event time. Specifying a future time will return an
- * unset cursor.
+ * Required. The target publish or event time. Specifying a future time will
+ * return an unset cursor.
*
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateReservationRequest.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateReservationRequest.java
index 935980c26..c81203d41 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateReservationRequest.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateReservationRequest.java
@@ -131,7 +131,8 @@ public com.google.protobuf.ByteString getParentBytes() {
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -148,7 +149,8 @@ public boolean hasReservation() {
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -167,7 +169,8 @@ public com.google.cloud.pubsublite.proto.Reservation getReservation() {
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -189,8 +192,8 @@ public com.google.cloud.pubsublite.proto.ReservationOrBuilder getReservationOrBu
*
*
*
- * Required. The ID to use for the reservation, which will become the final component of
- * the reservation's name.
+ * Required. The ID to use for the reservation, which will become the final
+ * component of the reservation's name.
* This value is structured like: `my-reservation-name`.
*
*
@@ -214,8 +217,8 @@ public java.lang.String getReservationId() {
*
*
*
- * Required. The ID to use for the reservation, which will become the final component of
- * the reservation's name.
+ * Required. The ID to use for the reservation, which will become the final
+ * component of the reservation's name.
* This value is structured like: `my-reservation-name`.
*
*
@@ -766,7 +769,8 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -782,7 +786,8 @@ public boolean hasReservation() {
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -804,7 +809,8 @@ public com.google.cloud.pubsublite.proto.Reservation getReservation() {
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -828,7 +834,8 @@ public Builder setReservation(com.google.cloud.pubsublite.proto.Reservation valu
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -850,7 +857,8 @@ public Builder setReservation(
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -877,7 +885,8 @@ public Builder mergeReservation(com.google.cloud.pubsublite.proto.Reservation va
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -898,7 +907,8 @@ public Builder clearReservation() {
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -914,7 +924,8 @@ public com.google.cloud.pubsublite.proto.Reservation.Builder getReservationBuild
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -934,7 +945,8 @@ public com.google.cloud.pubsublite.proto.ReservationOrBuilder getReservationOrBu
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -963,8 +975,8 @@ public com.google.cloud.pubsublite.proto.ReservationOrBuilder getReservationOrBu
*
*
*
- * Required. The ID to use for the reservation, which will become the final component of
- * the reservation's name.
+ * Required. The ID to use for the reservation, which will become the final
+ * component of the reservation's name.
* This value is structured like: `my-reservation-name`.
*
*
@@ -987,8 +999,8 @@ public java.lang.String getReservationId() {
*
*
*
- * Required. The ID to use for the reservation, which will become the final component of
- * the reservation's name.
+ * Required. The ID to use for the reservation, which will become the final
+ * component of the reservation's name.
* This value is structured like: `my-reservation-name`.
*
*
@@ -1011,8 +1023,8 @@ public com.google.protobuf.ByteString getReservationIdBytes() {
*
*
*
- * Required. The ID to use for the reservation, which will become the final component of
- * the reservation's name.
+ * Required. The ID to use for the reservation, which will become the final
+ * component of the reservation's name.
* This value is structured like: `my-reservation-name`.
*
*
@@ -1034,8 +1046,8 @@ public Builder setReservationId(java.lang.String value) {
*
*
*
- * Required. The ID to use for the reservation, which will become the final component of
- * the reservation's name.
+ * Required. The ID to use for the reservation, which will become the final
+ * component of the reservation's name.
* This value is structured like: `my-reservation-name`.
*
*
@@ -1053,8 +1065,8 @@ public Builder clearReservationId() {
*
*
*
- * Required. The ID to use for the reservation, which will become the final component of
- * the reservation's name.
+ * Required. The ID to use for the reservation, which will become the final
+ * component of the reservation's name.
* This value is structured like: `my-reservation-name`.
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateReservationRequestOrBuilder.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateReservationRequestOrBuilder.java
index b4672aa61..6270e8377 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateReservationRequestOrBuilder.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateReservationRequestOrBuilder.java
@@ -58,7 +58,8 @@ public interface CreateReservationRequestOrBuilder
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -72,7 +73,8 @@ public interface CreateReservationRequestOrBuilder
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -86,7 +88,8 @@ public interface CreateReservationRequestOrBuilder
*
*
*
- * Required. Configuration of the reservation to create. Its `name` field is ignored.
+ * Required. Configuration of the reservation to create. Its `name` field is
+ * ignored.
*
*
*
@@ -99,8 +102,8 @@ public interface CreateReservationRequestOrBuilder
*
*
*
- * Required. The ID to use for the reservation, which will become the final component of
- * the reservation's name.
+ * Required. The ID to use for the reservation, which will become the final
+ * component of the reservation's name.
* This value is structured like: `my-reservation-name`.
*
*
@@ -113,8 +116,8 @@ public interface CreateReservationRequestOrBuilder
*
*
*
- * Required. The ID to use for the reservation, which will become the final component of
- * the reservation's name.
+ * Required. The ID to use for the reservation, which will become the final
+ * component of the reservation's name.
* This value is structured like: `my-reservation-name`.
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateSubscriptionRequest.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateSubscriptionRequest.java
index 6920693b3..0df5efbca 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateSubscriptionRequest.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateSubscriptionRequest.java
@@ -131,7 +131,8 @@ public com.google.protobuf.ByteString getParentBytes() {
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -148,7 +149,8 @@ public boolean hasSubscription() {
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -167,7 +169,8 @@ public com.google.cloud.pubsublite.proto.Subscription getSubscription() {
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -189,8 +192,8 @@ public com.google.cloud.pubsublite.proto.SubscriptionOrBuilder getSubscriptionOr
*
*
*
- * Required. The ID to use for the subscription, which will become the final component
- * of the subscription's name.
+ * Required. The ID to use for the subscription, which will become the final
+ * component of the subscription's name.
* This value is structured like: `my-sub-name`.
*
*
@@ -214,8 +217,8 @@ public java.lang.String getSubscriptionId() {
*
*
*
- * Required. The ID to use for the subscription, which will become the final component
- * of the subscription's name.
+ * Required. The ID to use for the subscription, which will become the final
+ * component of the subscription's name.
* This value is structured like: `my-sub-name`.
*
*
@@ -808,7 +811,8 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -824,7 +828,8 @@ public boolean hasSubscription() {
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -846,7 +851,8 @@ public com.google.cloud.pubsublite.proto.Subscription getSubscription() {
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -870,7 +876,8 @@ public Builder setSubscription(com.google.cloud.pubsublite.proto.Subscription va
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -892,7 +899,8 @@ public Builder setSubscription(
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -920,7 +928,8 @@ public Builder mergeSubscription(com.google.cloud.pubsublite.proto.Subscription
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -941,7 +950,8 @@ public Builder clearSubscription() {
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -957,7 +967,8 @@ public com.google.cloud.pubsublite.proto.Subscription.Builder getSubscriptionBui
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -977,7 +988,8 @@ public com.google.cloud.pubsublite.proto.SubscriptionOrBuilder getSubscriptionOr
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -1006,8 +1018,8 @@ public com.google.cloud.pubsublite.proto.SubscriptionOrBuilder getSubscriptionOr
*
*
*
- * Required. The ID to use for the subscription, which will become the final component
- * of the subscription's name.
+ * Required. The ID to use for the subscription, which will become the final
+ * component of the subscription's name.
* This value is structured like: `my-sub-name`.
*
*
@@ -1030,8 +1042,8 @@ public java.lang.String getSubscriptionId() {
*
*
*
- * Required. The ID to use for the subscription, which will become the final component
- * of the subscription's name.
+ * Required. The ID to use for the subscription, which will become the final
+ * component of the subscription's name.
* This value is structured like: `my-sub-name`.
*
*
@@ -1054,8 +1066,8 @@ public com.google.protobuf.ByteString getSubscriptionIdBytes() {
*
*
*
- * Required. The ID to use for the subscription, which will become the final component
- * of the subscription's name.
+ * Required. The ID to use for the subscription, which will become the final
+ * component of the subscription's name.
* This value is structured like: `my-sub-name`.
*
*
@@ -1077,8 +1089,8 @@ public Builder setSubscriptionId(java.lang.String value) {
*
*
*
- * Required. The ID to use for the subscription, which will become the final component
- * of the subscription's name.
+ * Required. The ID to use for the subscription, which will become the final
+ * component of the subscription's name.
* This value is structured like: `my-sub-name`.
*
*
@@ -1096,8 +1108,8 @@ public Builder clearSubscriptionId() {
*
*
*
- * Required. The ID to use for the subscription, which will become the final component
- * of the subscription's name.
+ * Required. The ID to use for the subscription, which will become the final
+ * component of the subscription's name.
* This value is structured like: `my-sub-name`.
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateSubscriptionRequestOrBuilder.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateSubscriptionRequestOrBuilder.java
index f0f86d515..c901c2fa8 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateSubscriptionRequestOrBuilder.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateSubscriptionRequestOrBuilder.java
@@ -58,7 +58,8 @@ public interface CreateSubscriptionRequestOrBuilder
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -72,7 +73,8 @@ public interface CreateSubscriptionRequestOrBuilder
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -86,7 +88,8 @@ public interface CreateSubscriptionRequestOrBuilder
*
*
*
- * Required. Configuration of the subscription to create. Its `name` field is ignored.
+ * Required. Configuration of the subscription to create. Its `name` field is
+ * ignored.
*
*
*
@@ -99,8 +102,8 @@ public interface CreateSubscriptionRequestOrBuilder
*
*
*
- * Required. The ID to use for the subscription, which will become the final component
- * of the subscription's name.
+ * Required. The ID to use for the subscription, which will become the final
+ * component of the subscription's name.
* This value is structured like: `my-sub-name`.
*
*
@@ -113,8 +116,8 @@ public interface CreateSubscriptionRequestOrBuilder
*
*
*
- * Required. The ID to use for the subscription, which will become the final component
- * of the subscription's name.
+ * Required. The ID to use for the subscription, which will become the final
+ * component of the subscription's name.
* This value is structured like: `my-sub-name`.
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateTopicRequest.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateTopicRequest.java
index 37c38ea5d..23f5b8ef7 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateTopicRequest.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateTopicRequest.java
@@ -131,7 +131,8 @@ public com.google.protobuf.ByteString getParentBytes() {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -147,7 +148,8 @@ public boolean hasTopic() {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -163,7 +165,8 @@ public com.google.cloud.pubsublite.proto.Topic getTopic() {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -182,8 +185,8 @@ public com.google.cloud.pubsublite.proto.TopicOrBuilder getTopicOrBuilder() {
*
*
*
- * Required. The ID to use for the topic, which will become the final component of
- * the topic's name.
+ * Required. The ID to use for the topic, which will become the final
+ * component of the topic's name.
* This value is structured like: `my-topic-name`.
*
*
@@ -207,8 +210,8 @@ public java.lang.String getTopicId() {
*
*
*
- * Required. The ID to use for the topic, which will become the final component of
- * the topic's name.
+ * Required. The ID to use for the topic, which will become the final
+ * component of the topic's name.
* This value is structured like: `my-topic-name`.
*
*
@@ -757,7 +760,8 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -772,7 +776,8 @@ public boolean hasTopic() {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -793,7 +798,8 @@ public com.google.cloud.pubsublite.proto.Topic getTopic() {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -816,7 +822,8 @@ public Builder setTopic(com.google.cloud.pubsublite.proto.Topic value) {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -836,7 +843,8 @@ public Builder setTopic(com.google.cloud.pubsublite.proto.Topic.Builder builderF
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -862,7 +870,8 @@ public Builder mergeTopic(com.google.cloud.pubsublite.proto.Topic value) {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -882,7 +891,8 @@ public Builder clearTopic() {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -897,7 +907,8 @@ public com.google.cloud.pubsublite.proto.Topic.Builder getTopicBuilder() {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -916,7 +927,8 @@ public com.google.cloud.pubsublite.proto.TopicOrBuilder getTopicOrBuilder() {
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -944,8 +956,8 @@ public com.google.cloud.pubsublite.proto.TopicOrBuilder getTopicOrBuilder() {
*
*
*
- * Required. The ID to use for the topic, which will become the final component of
- * the topic's name.
+ * Required. The ID to use for the topic, which will become the final
+ * component of the topic's name.
* This value is structured like: `my-topic-name`.
*
*
@@ -968,8 +980,8 @@ public java.lang.String getTopicId() {
*
*
*
- * Required. The ID to use for the topic, which will become the final component of
- * the topic's name.
+ * Required. The ID to use for the topic, which will become the final
+ * component of the topic's name.
* This value is structured like: `my-topic-name`.
*
*
@@ -992,8 +1004,8 @@ public com.google.protobuf.ByteString getTopicIdBytes() {
*
*
*
- * Required. The ID to use for the topic, which will become the final component of
- * the topic's name.
+ * Required. The ID to use for the topic, which will become the final
+ * component of the topic's name.
* This value is structured like: `my-topic-name`.
*
*
@@ -1015,8 +1027,8 @@ public Builder setTopicId(java.lang.String value) {
*
*
*
- * Required. The ID to use for the topic, which will become the final component of
- * the topic's name.
+ * Required. The ID to use for the topic, which will become the final
+ * component of the topic's name.
* This value is structured like: `my-topic-name`.
*
*
@@ -1034,8 +1046,8 @@ public Builder clearTopicId() {
*
*
*
- * Required. The ID to use for the topic, which will become the final component of
- * the topic's name.
+ * Required. The ID to use for the topic, which will become the final
+ * component of the topic's name.
* This value is structured like: `my-topic-name`.
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateTopicRequestOrBuilder.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateTopicRequestOrBuilder.java
index 3c4917c40..b83adc03a 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateTopicRequestOrBuilder.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/CreateTopicRequestOrBuilder.java
@@ -58,7 +58,8 @@ public interface CreateTopicRequestOrBuilder
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -71,7 +72,8 @@ public interface CreateTopicRequestOrBuilder
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -84,7 +86,8 @@ public interface CreateTopicRequestOrBuilder
*
*
*
- * Required. Configuration of the topic to create. Its `name` field is ignored.
+ * Required. Configuration of the topic to create. Its `name` field is
+ * ignored.
*
*
* .google.cloud.pubsublite.v1.Topic topic = 2 [(.google.api.field_behavior) = REQUIRED];
@@ -96,8 +99,8 @@ public interface CreateTopicRequestOrBuilder
*
*
*
- * Required. The ID to use for the topic, which will become the final component of
- * the topic's name.
+ * Required. The ID to use for the topic, which will become the final
+ * component of the topic's name.
* This value is structured like: `my-topic-name`.
*
*
@@ -110,8 +113,8 @@ public interface CreateTopicRequestOrBuilder
*
*
*
- * Required. The ID to use for the topic, which will become the final component of
- * the topic's name.
+ * Required. The ID to use for the topic, which will become the final
+ * component of the topic's name.
* This value is structured like: `my-topic-name`.
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ExportConfig.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ExportConfig.java
index 2c85026fe..263ed4347 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ExportConfig.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ExportConfig.java
@@ -1029,8 +1029,8 @@ public com.google.cloud.pubsublite.proto.ExportConfig.State getDesiredState() {
*
*
*
- * Output only. The current state of the export, which may be different to the desired
- * state due to errors.
+ * Output only. The current state of the export, which may be different to the
+ * desired state due to errors. This field is output only.
*
*
*
@@ -1047,8 +1047,8 @@ public int getCurrentStateValue() {
*
*
*
- * Output only. The current state of the export, which may be different to the desired
- * state due to errors.
+ * Output only. The current state of the export, which may be different to the
+ * desired state due to errors. This field is output only.
*
*
*
@@ -1074,9 +1074,9 @@ public com.google.cloud.pubsublite.proto.ExportConfig.State getCurrentState() {
*
*
*
- * Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- * be exported to the destination. For example, the message can not be
- * published to the Pub/Sub service because it does not satisfy the
+ * Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ * that can not be exported to the destination. For example, the message can
+ * not be published to the Pub/Sub service because it does not satisfy the
* constraints documented at https://cloud.google.com/pubsub/docs/publisher.
* Structured like:
* projects/{project_number}/locations/{location}/topics/{topic_id}.
@@ -1106,9 +1106,9 @@ public java.lang.String getDeadLetterTopic() {
*
*
*
- * Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- * be exported to the destination. For example, the message can not be
- * published to the Pub/Sub service because it does not satisfy the
+ * Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ * that can not be exported to the destination. For example, the message can
+ * not be published to the Pub/Sub service because it does not satisfy the
* constraints documented at https://cloud.google.com/pubsub/docs/publisher.
* Structured like:
* projects/{project_number}/locations/{location}/topics/{topic_id}.
@@ -1752,8 +1752,8 @@ public Builder clearDesiredState() {
*
*
*
- * Output only. The current state of the export, which may be different to the desired
- * state due to errors.
+ * Output only. The current state of the export, which may be different to the
+ * desired state due to errors. This field is output only.
*
*
*
@@ -1770,8 +1770,8 @@ public int getCurrentStateValue() {
*
*
*
- * Output only. The current state of the export, which may be different to the desired
- * state due to errors.
+ * Output only. The current state of the export, which may be different to the
+ * desired state due to errors. This field is output only.
*
*
*
@@ -1791,8 +1791,8 @@ public Builder setCurrentStateValue(int value) {
*
*
*
- * Output only. The current state of the export, which may be different to the desired
- * state due to errors.
+ * Output only. The current state of the export, which may be different to the
+ * desired state due to errors. This field is output only.
*
*
*
@@ -1813,8 +1813,8 @@ public com.google.cloud.pubsublite.proto.ExportConfig.State getCurrentState() {
*
*
*
- * Output only. The current state of the export, which may be different to the desired
- * state due to errors.
+ * Output only. The current state of the export, which may be different to the
+ * desired state due to errors. This field is output only.
*
*
*
@@ -1837,8 +1837,8 @@ public Builder setCurrentState(com.google.cloud.pubsublite.proto.ExportConfig.St
*
*
*
- * Output only. The current state of the export, which may be different to the desired
- * state due to errors.
+ * Output only. The current state of the export, which may be different to the
+ * desired state due to errors. This field is output only.
*
*
*
@@ -1859,9 +1859,9 @@ public Builder clearCurrentState() {
*
*
*
- * Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- * be exported to the destination. For example, the message can not be
- * published to the Pub/Sub service because it does not satisfy the
+ * Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ * that can not be exported to the destination. For example, the message can
+ * not be published to the Pub/Sub service because it does not satisfy the
* constraints documented at https://cloud.google.com/pubsub/docs/publisher.
* Structured like:
* projects/{project_number}/locations/{location}/topics/{topic_id}.
@@ -1890,9 +1890,9 @@ public java.lang.String getDeadLetterTopic() {
*
*
*
- * Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- * be exported to the destination. For example, the message can not be
- * published to the Pub/Sub service because it does not satisfy the
+ * Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ * that can not be exported to the destination. For example, the message can
+ * not be published to the Pub/Sub service because it does not satisfy the
* constraints documented at https://cloud.google.com/pubsub/docs/publisher.
* Structured like:
* projects/{project_number}/locations/{location}/topics/{topic_id}.
@@ -1921,9 +1921,9 @@ public com.google.protobuf.ByteString getDeadLetterTopicBytes() {
*
*
*
- * Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- * be exported to the destination. For example, the message can not be
- * published to the Pub/Sub service because it does not satisfy the
+ * Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ * that can not be exported to the destination. For example, the message can
+ * not be published to the Pub/Sub service because it does not satisfy the
* constraints documented at https://cloud.google.com/pubsub/docs/publisher.
* Structured like:
* projects/{project_number}/locations/{location}/topics/{topic_id}.
@@ -1951,9 +1951,9 @@ public Builder setDeadLetterTopic(java.lang.String value) {
*
*
*
- * Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- * be exported to the destination. For example, the message can not be
- * published to the Pub/Sub service because it does not satisfy the
+ * Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ * that can not be exported to the destination. For example, the message can
+ * not be published to the Pub/Sub service because it does not satisfy the
* constraints documented at https://cloud.google.com/pubsub/docs/publisher.
* Structured like:
* projects/{project_number}/locations/{location}/topics/{topic_id}.
@@ -1977,9 +1977,9 @@ public Builder clearDeadLetterTopic() {
*
*
*
- * Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- * be exported to the destination. For example, the message can not be
- * published to the Pub/Sub service because it does not satisfy the
+ * Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ * that can not be exported to the destination. For example, the message can
+ * not be published to the Pub/Sub service because it does not satisfy the
* constraints documented at https://cloud.google.com/pubsub/docs/publisher.
* Structured like:
* projects/{project_number}/locations/{location}/topics/{topic_id}.
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ExportConfigOrBuilder.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ExportConfigOrBuilder.java
index 38fa934a1..a4b5adbae 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ExportConfigOrBuilder.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/ExportConfigOrBuilder.java
@@ -54,8 +54,8 @@ public interface ExportConfigOrBuilder
*
*
*
- * Output only. The current state of the export, which may be different to the desired
- * state due to errors.
+ * Output only. The current state of the export, which may be different to the
+ * desired state due to errors. This field is output only.
*
*
*
@@ -69,8 +69,8 @@ public interface ExportConfigOrBuilder
*
*
*
- * Output only. The current state of the export, which may be different to the desired
- * state due to errors.
+ * Output only. The current state of the export, which may be different to the
+ * desired state due to errors. This field is output only.
*
*
*
@@ -85,9 +85,9 @@ public interface ExportConfigOrBuilder
*
*
*
- * Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- * be exported to the destination. For example, the message can not be
- * published to the Pub/Sub service because it does not satisfy the
+ * Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ * that can not be exported to the destination. For example, the message can
+ * not be published to the Pub/Sub service because it does not satisfy the
* constraints documented at https://cloud.google.com/pubsub/docs/publisher.
* Structured like:
* projects/{project_number}/locations/{location}/topics/{topic_id}.
@@ -106,9 +106,9 @@ public interface ExportConfigOrBuilder
*
*
*
- * Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- * be exported to the destination. For example, the message can not be
- * published to the Pub/Sub service because it does not satisfy the
+ * Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ * that can not be exported to the destination. For example, the message can
+ * not be published to the Pub/Sub service because it does not satisfy the
* constraints documented at https://cloud.google.com/pubsub/docs/publisher.
* Structured like:
* projects/{project_number}/locations/{location}/topics/{topic_id}.
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialPublishRequest.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialPublishRequest.java
index 6282f81a8..2571196d4 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialPublishRequest.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialPublishRequest.java
@@ -39,6 +39,7 @@ private InitialPublishRequest(com.google.protobuf.GeneratedMessageV3.Builder>
private InitialPublishRequest() {
topic_ = "";
+ clientId_ = com.google.protobuf.ByteString.EMPTY;
}
@java.lang.Override
@@ -138,6 +139,29 @@ public long getPartition() {
return partition_;
}
+ public static final int CLIENT_ID_FIELD_NUMBER = 3;
+ private com.google.protobuf.ByteString clientId_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ *
+ *
+ *
+ * Unique identifier for a publisher client. If set, enables publish
+ * idempotency within a publisher client session.
+ * The length of this field must be exactly 16 bytes long and should be
+ * populated with a 128 bit uuid, generated by standard uuid algorithms like
+ * uuid1 or uuid4. The same identifier should be reused following
+ * disconnections with retryable stream errors.
+ *
+ *
+ * bytes client_id = 3;
+ *
+ * @return The clientId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getClientId() {
+ return clientId_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -158,6 +182,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (partition_ != 0L) {
output.writeInt64(2, partition_);
}
+ if (!clientId_.isEmpty()) {
+ output.writeBytes(3, clientId_);
+ }
getUnknownFields().writeTo(output);
}
@@ -173,6 +200,9 @@ public int getSerializedSize() {
if (partition_ != 0L) {
size += com.google.protobuf.CodedOutputStream.computeInt64Size(2, partition_);
}
+ if (!clientId_.isEmpty()) {
+ size += com.google.protobuf.CodedOutputStream.computeBytesSize(3, clientId_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -191,6 +221,7 @@ public boolean equals(final java.lang.Object obj) {
if (!getTopic().equals(other.getTopic())) return false;
if (getPartition() != other.getPartition()) return false;
+ if (!getClientId().equals(other.getClientId())) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -206,6 +237,8 @@ public int hashCode() {
hash = (53 * hash) + getTopic().hashCode();
hash = (37 * hash) + PARTITION_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getPartition());
+ hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER;
+ hash = (53 * hash) + getClientId().hashCode();
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -348,6 +381,7 @@ public Builder clear() {
bitField0_ = 0;
topic_ = "";
partition_ = 0L;
+ clientId_ = com.google.protobuf.ByteString.EMPTY;
return this;
}
@@ -390,6 +424,9 @@ private void buildPartial0(com.google.cloud.pubsublite.proto.InitialPublishReque
if (((from_bitField0_ & 0x00000002) != 0)) {
result.partition_ = partition_;
}
+ if (((from_bitField0_ & 0x00000004) != 0)) {
+ result.clientId_ = clientId_;
+ }
}
@java.lang.Override
@@ -446,6 +483,9 @@ public Builder mergeFrom(com.google.cloud.pubsublite.proto.InitialPublishRequest
if (other.getPartition() != 0L) {
setPartition(other.getPartition());
}
+ if (other.getClientId() != com.google.protobuf.ByteString.EMPTY) {
+ setClientId(other.getClientId());
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -484,6 +524,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000002;
break;
} // case 16
+ case 26:
+ {
+ clientId_ = input.readBytes();
+ bitField0_ |= 0x00000004;
+ break;
+ } // case 26
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -668,6 +714,76 @@ public Builder clearPartition() {
return this;
}
+ private com.google.protobuf.ByteString clientId_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ *
+ *
+ *
+ * Unique identifier for a publisher client. If set, enables publish
+ * idempotency within a publisher client session.
+ * The length of this field must be exactly 16 bytes long and should be
+ * populated with a 128 bit uuid, generated by standard uuid algorithms like
+ * uuid1 or uuid4. The same identifier should be reused following
+ * disconnections with retryable stream errors.
+ *
+ *
+ * bytes client_id = 3;
+ *
+ * @return The clientId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getClientId() {
+ return clientId_;
+ }
+ /**
+ *
+ *
+ *
+ * Unique identifier for a publisher client. If set, enables publish
+ * idempotency within a publisher client session.
+ * The length of this field must be exactly 16 bytes long and should be
+ * populated with a 128 bit uuid, generated by standard uuid algorithms like
+ * uuid1 or uuid4. The same identifier should be reused following
+ * disconnections with retryable stream errors.
+ *
+ *
+ * bytes client_id = 3;
+ *
+ * @param value The clientId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setClientId(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ clientId_ = value;
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Unique identifier for a publisher client. If set, enables publish
+ * idempotency within a publisher client session.
+ * The length of this field must be exactly 16 bytes long and should be
+ * populated with a 128 bit uuid, generated by standard uuid algorithms like
+ * uuid1 or uuid4. The same identifier should be reused following
+ * disconnections with retryable stream errors.
+ *
+ *
+ * bytes client_id = 3;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearClientId() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ clientId_ = getDefaultInstance().getClientId();
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialPublishRequestOrBuilder.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialPublishRequestOrBuilder.java
index 7ec0b629f..4c65a2bed 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialPublishRequestOrBuilder.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialPublishRequestOrBuilder.java
@@ -62,4 +62,22 @@ public interface InitialPublishRequestOrBuilder
* @return The partition.
*/
long getPartition();
+
+ /**
+ *
+ *
+ *
+ * Unique identifier for a publisher client. If set, enables publish
+ * idempotency within a publisher client session.
+ * The length of this field must be exactly 16 bytes long and should be
+ * populated with a 128 bit uuid, generated by standard uuid algorithms like
+ * uuid1 or uuid4. The same identifier should be reused following
+ * disconnections with retryable stream errors.
+ *
+ *
+ * bytes client_id = 3;
+ *
+ * @return The clientId.
+ */
+ com.google.protobuf.ByteString getClientId();
}
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialSubscribeRequest.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialSubscribeRequest.java
index 9f9493362..77d1101f3 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialSubscribeRequest.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialSubscribeRequest.java
@@ -144,9 +144,9 @@ public long getPartition() {
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -163,9 +163,9 @@ public boolean hasInitialLocation() {
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -184,9 +184,9 @@ public com.google.cloud.pubsublite.proto.SeekRequest getInitialLocation() {
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -770,9 +770,9 @@ public Builder clearPartition() {
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -788,9 +788,9 @@ public boolean hasInitialLocation() {
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -812,9 +812,9 @@ public com.google.cloud.pubsublite.proto.SeekRequest getInitialLocation() {
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -838,9 +838,9 @@ public Builder setInitialLocation(com.google.cloud.pubsublite.proto.SeekRequest
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -862,9 +862,9 @@ public Builder setInitialLocation(
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -892,9 +892,9 @@ public Builder mergeInitialLocation(com.google.cloud.pubsublite.proto.SeekReques
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -915,9 +915,9 @@ public Builder clearInitialLocation() {
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -933,9 +933,9 @@ public com.google.cloud.pubsublite.proto.SeekRequest.Builder getInitialLocationB
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -955,9 +955,9 @@ public com.google.cloud.pubsublite.proto.SeekRequestOrBuilder getInitialLocation
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialSubscribeRequestOrBuilder.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialSubscribeRequestOrBuilder.java
index 37fa43b10..ba2c297ee 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialSubscribeRequestOrBuilder.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/InitialSubscribeRequestOrBuilder.java
@@ -66,9 +66,9 @@ public interface InitialSubscribeRequestOrBuilder
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -82,9 +82,9 @@ public interface InitialSubscribeRequestOrBuilder
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
@@ -98,9 +98,9 @@ public interface InitialSubscribeRequestOrBuilder
*
*
*
- * Optional. Initial target location within the message backlog. If not set, messages
- * will be delivered from the commit cursor for the given subscription and
- * partition.
+ * Optional. Initial target location within the message backlog. If not set,
+ * messages will be delivered from the commit cursor for the given
+ * subscription and partition.
*
*
*
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishRequest.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishRequest.java
index c9d4710e2..4021a974e 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishRequest.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishRequest.java
@@ -138,6 +138,33 @@ public com.google.cloud.pubsublite.proto.PubSubMessageOrBuilder getMessagesOrBui
return messages_.get(index);
}
+ public static final int FIRST_SEQUENCE_NUMBER_FIELD_NUMBER = 2;
+ private long firstSequenceNumber_ = 0L;
+ /**
+ *
+ *
+ *
+ * The sequence number corresponding to the first message in `messages`.
+ * Messages within a batch are ordered and the sequence numbers of all
+ * subsequent messages in the batch are assumed to be incremental.
+ * Sequence numbers are assigned at the message level and the first message
+ * published in a publisher client session must have a sequence number of 0.
+ * All messages must have contiguous sequence numbers, which uniquely identify
+ * the messages accepted by the publisher client. Since messages are ordered,
+ * the client only needs to specify the sequence number of the first message
+ * in a published batch. The server deduplicates messages with the same
+ * sequence number from the same publisher `client_id`.
+ *
+ *
+ * int64 first_sequence_number = 2;
+ *
+ * @return The firstSequenceNumber.
+ */
+ @java.lang.Override
+ public long getFirstSequenceNumber() {
+ return firstSequenceNumber_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -155,6 +182,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
for (int i = 0; i < messages_.size(); i++) {
output.writeMessage(1, messages_.get(i));
}
+ if (firstSequenceNumber_ != 0L) {
+ output.writeInt64(2, firstSequenceNumber_);
+ }
getUnknownFields().writeTo(output);
}
@@ -167,6 +197,9 @@ public int getSerializedSize() {
for (int i = 0; i < messages_.size(); i++) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, messages_.get(i));
}
+ if (firstSequenceNumber_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream.computeInt64Size(2, firstSequenceNumber_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -184,6 +217,7 @@ public boolean equals(final java.lang.Object obj) {
(com.google.cloud.pubsublite.proto.MessagePublishRequest) obj;
if (!getMessagesList().equals(other.getMessagesList())) return false;
+ if (getFirstSequenceNumber() != other.getFirstSequenceNumber()) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -199,6 +233,8 @@ public int hashCode() {
hash = (37 * hash) + MESSAGES_FIELD_NUMBER;
hash = (53 * hash) + getMessagesList().hashCode();
}
+ hash = (37 * hash) + FIRST_SEQUENCE_NUMBER_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getFirstSequenceNumber());
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -346,6 +382,7 @@ public Builder clear() {
messagesBuilder_.clear();
}
bitField0_ = (bitField0_ & ~0x00000001);
+ firstSequenceNumber_ = 0L;
return this;
}
@@ -396,6 +433,9 @@ private void buildPartialRepeatedFields(
private void buildPartial0(com.google.cloud.pubsublite.proto.MessagePublishRequest result) {
int from_bitField0_ = bitField0_;
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ result.firstSequenceNumber_ = firstSequenceNumber_;
+ }
}
@java.lang.Override
@@ -471,6 +511,9 @@ public Builder mergeFrom(com.google.cloud.pubsublite.proto.MessagePublishRequest
}
}
}
+ if (other.getFirstSequenceNumber() != 0L) {
+ setFirstSequenceNumber(other.getFirstSequenceNumber());
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -511,6 +554,12 @@ public Builder mergeFrom(
}
break;
} // case 10
+ case 16:
+ {
+ firstSequenceNumber_ = input.readInt64();
+ bitField0_ |= 0x00000002;
+ break;
+ } // case 16
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -882,6 +931,86 @@ public com.google.cloud.pubsublite.proto.PubSubMessage.Builder addMessagesBuilde
return messagesBuilder_;
}
+ private long firstSequenceNumber_;
+ /**
+ *
+ *
+ *
+ * The sequence number corresponding to the first message in `messages`.
+ * Messages within a batch are ordered and the sequence numbers of all
+ * subsequent messages in the batch are assumed to be incremental.
+ * Sequence numbers are assigned at the message level and the first message
+ * published in a publisher client session must have a sequence number of 0.
+ * All messages must have contiguous sequence numbers, which uniquely identify
+ * the messages accepted by the publisher client. Since messages are ordered,
+ * the client only needs to specify the sequence number of the first message
+ * in a published batch. The server deduplicates messages with the same
+ * sequence number from the same publisher `client_id`.
+ *
+ *
+ * int64 first_sequence_number = 2;
+ *
+ * @return The firstSequenceNumber.
+ */
+ @java.lang.Override
+ public long getFirstSequenceNumber() {
+ return firstSequenceNumber_;
+ }
+ /**
+ *
+ *
+ *
+ * The sequence number corresponding to the first message in `messages`.
+ * Messages within a batch are ordered and the sequence numbers of all
+ * subsequent messages in the batch are assumed to be incremental.
+ * Sequence numbers are assigned at the message level and the first message
+ * published in a publisher client session must have a sequence number of 0.
+ * All messages must have contiguous sequence numbers, which uniquely identify
+ * the messages accepted by the publisher client. Since messages are ordered,
+ * the client only needs to specify the sequence number of the first message
+ * in a published batch. The server deduplicates messages with the same
+ * sequence number from the same publisher `client_id`.
+ *
+ *
+ * int64 first_sequence_number = 2;
+ *
+ * @param value The firstSequenceNumber to set.
+ * @return This builder for chaining.
+ */
+ public Builder setFirstSequenceNumber(long value) {
+
+ firstSequenceNumber_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The sequence number corresponding to the first message in `messages`.
+ * Messages within a batch are ordered and the sequence numbers of all
+ * subsequent messages in the batch are assumed to be incremental.
+ * Sequence numbers are assigned at the message level and the first message
+ * published in a publisher client session must have a sequence number of 0.
+ * All messages must have contiguous sequence numbers, which uniquely identify
+ * the messages accepted by the publisher client. Since messages are ordered,
+ * the client only needs to specify the sequence number of the first message
+ * in a published batch. The server deduplicates messages with the same
+ * sequence number from the same publisher `client_id`.
+ *
+ *
+ * int64 first_sequence_number = 2;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearFirstSequenceNumber() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ firstSequenceNumber_ = 0L;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishRequestOrBuilder.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishRequestOrBuilder.java
index ede8b0881..71b96c755 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishRequestOrBuilder.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishRequestOrBuilder.java
@@ -74,4 +74,26 @@ public interface MessagePublishRequestOrBuilder
* repeated .google.cloud.pubsublite.v1.PubSubMessage messages = 1;
*/
com.google.cloud.pubsublite.proto.PubSubMessageOrBuilder getMessagesOrBuilder(int index);
+
+ /**
+ *
+ *
+ *
+ * The sequence number corresponding to the first message in `messages`.
+ * Messages within a batch are ordered and the sequence numbers of all
+ * subsequent messages in the batch are assumed to be incremental.
+ * Sequence numbers are assigned at the message level and the first message
+ * published in a publisher client session must have a sequence number of 0.
+ * All messages must have contiguous sequence numbers, which uniquely identify
+ * the messages accepted by the publisher client. Since messages are ordered,
+ * the client only needs to specify the sequence number of the first message
+ * in a published batch. The server deduplicates messages with the same
+ * sequence number from the same publisher `client_id`.
+ *
+ *
+ * int64 first_sequence_number = 2;
+ *
+ * @return The firstSequenceNumber.
+ */
+ long getFirstSequenceNumber();
}
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishResponse.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishResponse.java
index 0a85cc258..0f7a3484e 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishResponse.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishResponse.java
@@ -37,7 +37,9 @@ private MessagePublishResponse(com.google.protobuf.GeneratedMessageV3.Builder>
super(builder);
}
- private MessagePublishResponse() {}
+ private MessagePublishResponse() {
+ cursorRanges_ = java.util.Collections.emptyList();
+ }
@java.lang.Override
@SuppressWarnings({"unused"})
@@ -64,58 +66,1158 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
com.google.cloud.pubsublite.proto.MessagePublishResponse.class,
com.google.cloud.pubsublite.proto.MessagePublishResponse.Builder.class);
}
-
- public static final int START_CURSOR_FIELD_NUMBER = 1;
- private com.google.cloud.pubsublite.proto.Cursor startCursor_;
+
+ public interface CursorRangeOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ *
+ * @return Whether the startCursor field is set.
+ */
+ boolean hasStartCursor();
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ *
+ * @return The startCursor.
+ */
+ com.google.cloud.pubsublite.proto.Cursor getStartCursor();
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ com.google.cloud.pubsublite.proto.CursorOrBuilder getStartCursorOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Index of the message in the published batch that corresponds to the
+ * start cursor. Inclusive.
+ *
+ *
+ * int32 start_index = 2;
+ *
+ * @return The startIndex.
+ */
+ int getStartIndex();
+
+ /**
+ *
+ *
+ *
+ * Index of the last message in this range. Exclusive.
+ *
+ *
+ * int32 end_index = 3;
+ *
+ * @return The endIndex.
+ */
+ int getEndIndex();
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for a subrange of published messages.
+ *
+ *
+ * Protobuf type {@code google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange}
+ */
+ public static final class CursorRange extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange)
+ CursorRangeOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use CursorRange.newBuilder() to construct.
+ private CursorRange(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private CursorRange() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new CursorRange();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+ return this.unknownFields;
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.cloud.pubsublite.proto.PublisherProto
+ .internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.cloud.pubsublite.proto.PublisherProto
+ .internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.class,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder.class);
+ }
+
+ public static final int START_CURSOR_FIELD_NUMBER = 1;
+ private com.google.cloud.pubsublite.proto.Cursor startCursor_;
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ *
+ * @return Whether the startCursor field is set.
+ */
+ @java.lang.Override
+ public boolean hasStartCursor() {
+ return startCursor_ != null;
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ *
+ * @return The startCursor.
+ */
+ @java.lang.Override
+ public com.google.cloud.pubsublite.proto.Cursor getStartCursor() {
+ return startCursor_ == null
+ ? com.google.cloud.pubsublite.proto.Cursor.getDefaultInstance()
+ : startCursor_;
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ @java.lang.Override
+ public com.google.cloud.pubsublite.proto.CursorOrBuilder getStartCursorOrBuilder() {
+ return startCursor_ == null
+ ? com.google.cloud.pubsublite.proto.Cursor.getDefaultInstance()
+ : startCursor_;
+ }
+
+ public static final int START_INDEX_FIELD_NUMBER = 2;
+ private int startIndex_ = 0;
+ /**
+ *
+ *
+ *
+ * Index of the message in the published batch that corresponds to the
+ * start cursor. Inclusive.
+ *
+ *
+ * int32 start_index = 2;
+ *
+ * @return The startIndex.
+ */
+ @java.lang.Override
+ public int getStartIndex() {
+ return startIndex_;
+ }
+
+ public static final int END_INDEX_FIELD_NUMBER = 3;
+ private int endIndex_ = 0;
+ /**
+ *
+ *
+ *
+ * Index of the last message in this range. Exclusive.
+ *
+ *
+ * int32 end_index = 3;
+ *
+ * @return The endIndex.
+ */
+ @java.lang.Override
+ public int getEndIndex() {
+ return endIndex_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (startCursor_ != null) {
+ output.writeMessage(1, getStartCursor());
+ }
+ if (startIndex_ != 0) {
+ output.writeInt32(2, startIndex_);
+ }
+ if (endIndex_ != 0) {
+ output.writeInt32(3, endIndex_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (startCursor_ != null) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getStartCursor());
+ }
+ if (startIndex_ != 0) {
+ size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, startIndex_);
+ }
+ if (endIndex_ != 0) {
+ size += com.google.protobuf.CodedOutputStream.computeInt32Size(3, endIndex_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange other =
+ (com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange) obj;
+
+ if (hasStartCursor() != other.hasStartCursor()) return false;
+ if (hasStartCursor()) {
+ if (!getStartCursor().equals(other.getStartCursor())) return false;
+ }
+ if (getStartIndex() != other.getStartIndex()) return false;
+ if (getEndIndex() != other.getEndIndex()) return false;
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasStartCursor()) {
+ hash = (37 * hash) + START_CURSOR_FIELD_NUMBER;
+ hash = (53 * hash) + getStartCursor().hashCode();
+ }
+ hash = (37 * hash) + START_INDEX_FIELD_NUMBER;
+ hash = (53 * hash) + getStartIndex();
+ hash = (37 * hash) + END_INDEX_FIELD_NUMBER;
+ hash = (53 * hash) + getEndIndex();
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for a subrange of published messages.
+ *
+ *
+ * Protobuf type {@code google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ implements
+ // @@protoc_insertion_point(builder_implements:google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange)
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.cloud.pubsublite.proto.PublisherProto
+ .internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.cloud.pubsublite.proto.PublisherProto
+ .internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.class,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder.class);
+ }
+
+ // Construct using
+ // com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.newBuilder()
+ private Builder() {}
+
+ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ }
+
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ bitField0_ = 0;
+ startCursor_ = null;
+ if (startCursorBuilder_ != null) {
+ startCursorBuilder_.dispose();
+ startCursorBuilder_ = null;
+ }
+ startIndex_ = 0;
+ endIndex_ = 0;
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
+ return com.google.cloud.pubsublite.proto.PublisherProto
+ .internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_descriptor;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ getDefaultInstanceForType() {
+ return com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ .getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange build() {
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange result =
+ buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange buildPartial() {
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange result =
+ new com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange(this);
+ if (bitField0_ != 0) {
+ buildPartial0(result);
+ }
+ onBuilt();
+ return result;
+ }
+
+ private void buildPartial0(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange result) {
+ int from_bitField0_ = bitField0_;
+ if (((from_bitField0_ & 0x00000001) != 0)) {
+ result.startCursor_ =
+ startCursorBuilder_ == null ? startCursor_ : startCursorBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ result.startIndex_ = startIndex_;
+ }
+ if (((from_bitField0_ & 0x00000004) != 0)) {
+ result.endIndex_ = endIndex_;
+ }
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.setField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+
+ @java.lang.Override
+ public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index,
+ java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange) {
+ return mergeFrom(
+ (com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange) other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange other) {
+ if (other
+ == com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ .getDefaultInstance()) return this;
+ if (other.hasStartCursor()) {
+ mergeStartCursor(other.getStartCursor());
+ }
+ if (other.getStartIndex() != 0) {
+ setStartIndex(other.getStartIndex());
+ }
+ if (other.getEndIndex() != 0) {
+ setEndIndex(other.getEndIndex());
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 10:
+ {
+ input.readMessage(getStartCursorFieldBuilder().getBuilder(), extensionRegistry);
+ bitField0_ |= 0x00000001;
+ break;
+ } // case 10
+ case 16:
+ {
+ startIndex_ = input.readInt32();
+ bitField0_ |= 0x00000002;
+ break;
+ } // case 16
+ case 24:
+ {
+ endIndex_ = input.readInt32();
+ bitField0_ |= 0x00000004;
+ break;
+ } // case 24
+ default:
+ {
+ if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+ done = true; // was an endgroup tag
+ }
+ break;
+ } // default:
+ } // switch (tag)
+ } // while (!done)
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.unwrapIOException();
+ } finally {
+ onChanged();
+ } // finally
+ return this;
+ }
+
+ private int bitField0_;
+
+ private com.google.cloud.pubsublite.proto.Cursor startCursor_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.pubsublite.proto.Cursor,
+ com.google.cloud.pubsublite.proto.Cursor.Builder,
+ com.google.cloud.pubsublite.proto.CursorOrBuilder>
+ startCursorBuilder_;
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ *
+ * @return Whether the startCursor field is set.
+ */
+ public boolean hasStartCursor() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ *
+ * @return The startCursor.
+ */
+ public com.google.cloud.pubsublite.proto.Cursor getStartCursor() {
+ if (startCursorBuilder_ == null) {
+ return startCursor_ == null
+ ? com.google.cloud.pubsublite.proto.Cursor.getDefaultInstance()
+ : startCursor_;
+ } else {
+ return startCursorBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ public Builder setStartCursor(com.google.cloud.pubsublite.proto.Cursor value) {
+ if (startCursorBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ startCursor_ = value;
+ } else {
+ startCursorBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ public Builder setStartCursor(
+ com.google.cloud.pubsublite.proto.Cursor.Builder builderForValue) {
+ if (startCursorBuilder_ == null) {
+ startCursor_ = builderForValue.build();
+ } else {
+ startCursorBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ public Builder mergeStartCursor(com.google.cloud.pubsublite.proto.Cursor value) {
+ if (startCursorBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0)
+ && startCursor_ != null
+ && startCursor_ != com.google.cloud.pubsublite.proto.Cursor.getDefaultInstance()) {
+ getStartCursorBuilder().mergeFrom(value);
+ } else {
+ startCursor_ = value;
+ }
+ } else {
+ startCursorBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ public Builder clearStartCursor() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ startCursor_ = null;
+ if (startCursorBuilder_ != null) {
+ startCursorBuilder_.dispose();
+ startCursorBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ public com.google.cloud.pubsublite.proto.Cursor.Builder getStartCursorBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getStartCursorFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ public com.google.cloud.pubsublite.proto.CursorOrBuilder getStartCursorOrBuilder() {
+ if (startCursorBuilder_ != null) {
+ return startCursorBuilder_.getMessageOrBuilder();
+ } else {
+ return startCursor_ == null
+ ? com.google.cloud.pubsublite.proto.Cursor.getDefaultInstance()
+ : startCursor_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the message at the start index. The cursors for remaining
+ * messages up to the end index (exclusive) are sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.pubsublite.proto.Cursor,
+ com.google.cloud.pubsublite.proto.Cursor.Builder,
+ com.google.cloud.pubsublite.proto.CursorOrBuilder>
+ getStartCursorFieldBuilder() {
+ if (startCursorBuilder_ == null) {
+ startCursorBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.pubsublite.proto.Cursor,
+ com.google.cloud.pubsublite.proto.Cursor.Builder,
+ com.google.cloud.pubsublite.proto.CursorOrBuilder>(
+ getStartCursor(), getParentForChildren(), isClean());
+ startCursor_ = null;
+ }
+ return startCursorBuilder_;
+ }
+
+ private int startIndex_;
+ /**
+ *
+ *
+ *
+ * Index of the message in the published batch that corresponds to the
+ * start cursor. Inclusive.
+ *
+ *
+ * int32 start_index = 2;
+ *
+ * @return The startIndex.
+ */
+ @java.lang.Override
+ public int getStartIndex() {
+ return startIndex_;
+ }
+ /**
+ *
+ *
+ *
+ * Index of the message in the published batch that corresponds to the
+ * start cursor. Inclusive.
+ *
+ *
+ * int32 start_index = 2;
+ *
+ * @param value The startIndex to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStartIndex(int value) {
+
+ startIndex_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Index of the message in the published batch that corresponds to the
+ * start cursor. Inclusive.
+ *
+ *
+ * int32 start_index = 2;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearStartIndex() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ startIndex_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int endIndex_;
+ /**
+ *
+ *
+ *
+ * Index of the last message in this range. Exclusive.
+ *
+ *
+ * int32 end_index = 3;
+ *
+ * @return The endIndex.
+ */
+ @java.lang.Override
+ public int getEndIndex() {
+ return endIndex_;
+ }
+ /**
+ *
+ *
+ *
+ * Index of the last message in this range. Exclusive.
+ *
+ *
+ * int32 end_index = 3;
+ *
+ * @param value The endIndex to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEndIndex(int value) {
+
+ endIndex_ = value;
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Index of the last message in this range. Exclusive.
+ *
+ *
+ * int32 end_index = 3;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearEndIndex() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ endIndex_ = 0;
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange)
+ private static final com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange();
+ }
+
+ public static com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser PARSER =
+ new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public CursorRange parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ Builder builder = newBuilder();
+ try {
+ builder.mergeFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(builder.buildPartial());
+ } catch (com.google.protobuf.UninitializedMessageException e) {
+ throw e.asInvalidProtocolBufferException()
+ .setUnfinishedMessage(builder.buildPartial());
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(e)
+ .setUnfinishedMessage(builder.buildPartial());
+ }
+ return builder.buildPartial();
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+ }
+
+ public static final int START_CURSOR_FIELD_NUMBER = 1;
+ private com.google.cloud.pubsublite.proto.Cursor startCursor_;
+ /**
+ *
+ *
+ *
+ * The cursor of the first published message in the batch. The cursors for any
+ * remaining messages in the batch are guaranteed to be sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ *
+ * @return Whether the startCursor field is set.
+ */
+ @java.lang.Override
+ public boolean hasStartCursor() {
+ return startCursor_ != null;
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the first published message in the batch. The cursors for any
+ * remaining messages in the batch are guaranteed to be sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ *
+ * @return The startCursor.
+ */
+ @java.lang.Override
+ public com.google.cloud.pubsublite.proto.Cursor getStartCursor() {
+ return startCursor_ == null
+ ? com.google.cloud.pubsublite.proto.Cursor.getDefaultInstance()
+ : startCursor_;
+ }
+ /**
+ *
+ *
+ *
+ * The cursor of the first published message in the batch. The cursors for any
+ * remaining messages in the batch are guaranteed to be sequential.
+ *
+ *
+ * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ */
+ @java.lang.Override
+ public com.google.cloud.pubsublite.proto.CursorOrBuilder getStartCursorOrBuilder() {
+ return startCursor_ == null
+ ? com.google.cloud.pubsublite.proto.Cursor.getDefaultInstance()
+ : startCursor_;
+ }
+
+ public static final int CURSOR_RANGES_FIELD_NUMBER = 2;
+
+ @SuppressWarnings("serial")
+ private java.util.List
+ cursorRanges_;
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ @java.lang.Override
+ public java.util.List
+ getCursorRangesList() {
+ return cursorRanges_;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ @java.lang.Override
+ public java.util.List<
+ ? extends com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder>
+ getCursorRangesOrBuilderList() {
+ return cursorRanges_;
+ }
/**
*
*
*
- * The cursor of the first published message in the batch. The cursors for any
- * remaining messages in the batch are guaranteed to be sequential.
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
*
*
- * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
- *
- * @return Whether the startCursor field is set.
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
*/
@java.lang.Override
- public boolean hasStartCursor() {
- return startCursor_ != null;
+ public int getCursorRangesCount() {
+ return cursorRanges_.size();
}
/**
*
*
*
- * The cursor of the first published message in the batch. The cursors for any
- * remaining messages in the batch are guaranteed to be sequential.
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
*
*
- * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
- *
- * @return The startCursor.
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
*/
@java.lang.Override
- public com.google.cloud.pubsublite.proto.Cursor getStartCursor() {
- return startCursor_ == null
- ? com.google.cloud.pubsublite.proto.Cursor.getDefaultInstance()
- : startCursor_;
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange getCursorRanges(
+ int index) {
+ return cursorRanges_.get(index);
}
/**
*
*
*
- * The cursor of the first published message in the batch. The cursors for any
- * remaining messages in the batch are guaranteed to be sequential.
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
*
*
- * .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
*/
@java.lang.Override
- public com.google.cloud.pubsublite.proto.CursorOrBuilder getStartCursorOrBuilder() {
- return startCursor_ == null
- ? com.google.cloud.pubsublite.proto.Cursor.getDefaultInstance()
- : startCursor_;
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder
+ getCursorRangesOrBuilder(int index) {
+ return cursorRanges_.get(index);
}
private byte memoizedIsInitialized = -1;
@@ -135,6 +1237,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (startCursor_ != null) {
output.writeMessage(1, getStartCursor());
}
+ for (int i = 0; i < cursorRanges_.size(); i++) {
+ output.writeMessage(2, cursorRanges_.get(i));
+ }
getUnknownFields().writeTo(output);
}
@@ -147,6 +1252,9 @@ public int getSerializedSize() {
if (startCursor_ != null) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getStartCursor());
}
+ for (int i = 0; i < cursorRanges_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, cursorRanges_.get(i));
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -167,6 +1275,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasStartCursor()) {
if (!getStartCursor().equals(other.getStartCursor())) return false;
}
+ if (!getCursorRangesList().equals(other.getCursorRangesList())) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -182,6 +1291,10 @@ public int hashCode() {
hash = (37 * hash) + START_CURSOR_FIELD_NUMBER;
hash = (53 * hash) + getStartCursor().hashCode();
}
+ if (getCursorRangesCount() > 0) {
+ hash = (37 * hash) + CURSOR_RANGES_FIELD_NUMBER;
+ hash = (53 * hash) + getCursorRangesList().hashCode();
+ }
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -327,6 +1440,13 @@ public Builder clear() {
startCursorBuilder_.dispose();
startCursorBuilder_ = null;
}
+ if (cursorRangesBuilder_ == null) {
+ cursorRanges_ = java.util.Collections.emptyList();
+ } else {
+ cursorRanges_ = null;
+ cursorRangesBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000002);
return this;
}
@@ -354,6 +1474,7 @@ public com.google.cloud.pubsublite.proto.MessagePublishResponse build() {
public com.google.cloud.pubsublite.proto.MessagePublishResponse buildPartial() {
com.google.cloud.pubsublite.proto.MessagePublishResponse result =
new com.google.cloud.pubsublite.proto.MessagePublishResponse(this);
+ buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
@@ -361,6 +1482,19 @@ public com.google.cloud.pubsublite.proto.MessagePublishResponse buildPartial() {
return result;
}
+ private void buildPartialRepeatedFields(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse result) {
+ if (cursorRangesBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) != 0)) {
+ cursorRanges_ = java.util.Collections.unmodifiableList(cursorRanges_);
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.cursorRanges_ = cursorRanges_;
+ } else {
+ result.cursorRanges_ = cursorRangesBuilder_.build();
+ }
+ }
+
private void buildPartial0(com.google.cloud.pubsublite.proto.MessagePublishResponse result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -418,6 +1552,33 @@ public Builder mergeFrom(com.google.cloud.pubsublite.proto.MessagePublishRespons
if (other.hasStartCursor()) {
mergeStartCursor(other.getStartCursor());
}
+ if (cursorRangesBuilder_ == null) {
+ if (!other.cursorRanges_.isEmpty()) {
+ if (cursorRanges_.isEmpty()) {
+ cursorRanges_ = other.cursorRanges_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureCursorRangesIsMutable();
+ cursorRanges_.addAll(other.cursorRanges_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.cursorRanges_.isEmpty()) {
+ if (cursorRangesBuilder_.isEmpty()) {
+ cursorRangesBuilder_.dispose();
+ cursorRangesBuilder_ = null;
+ cursorRanges_ = other.cursorRanges_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ cursorRangesBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
+ ? getCursorRangesFieldBuilder()
+ : null;
+ } else {
+ cursorRangesBuilder_.addAllMessages(other.cursorRanges_);
+ }
+ }
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -450,6 +1611,21 @@ public Builder mergeFrom(
bitField0_ |= 0x00000001;
break;
} // case 10
+ case 18:
+ {
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange m =
+ input.readMessage(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ .parser(),
+ extensionRegistry);
+ if (cursorRangesBuilder_ == null) {
+ ensureCursorRangesIsMutable();
+ cursorRanges_.add(m);
+ } else {
+ cursorRangesBuilder_.addMessage(m);
+ }
+ break;
+ } // case 18
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -662,6 +1838,526 @@ public com.google.cloud.pubsublite.proto.CursorOrBuilder getStartCursorOrBuilder
return startCursorBuilder_;
}
+ private java.util.List
+ cursorRanges_ = java.util.Collections.emptyList();
+
+ private void ensureCursorRangesIsMutable() {
+ if (!((bitField0_ & 0x00000002) != 0)) {
+ cursorRanges_ =
+ new java.util.ArrayList<
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange>(
+ cursorRanges_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder>
+ cursorRangesBuilder_;
+
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public java.util.List
+ getCursorRangesList() {
+ if (cursorRangesBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(cursorRanges_);
+ } else {
+ return cursorRangesBuilder_.getMessageList();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public int getCursorRangesCount() {
+ if (cursorRangesBuilder_ == null) {
+ return cursorRanges_.size();
+ } else {
+ return cursorRangesBuilder_.getCount();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange getCursorRanges(
+ int index) {
+ if (cursorRangesBuilder_ == null) {
+ return cursorRanges_.get(index);
+ } else {
+ return cursorRangesBuilder_.getMessage(index);
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public Builder setCursorRanges(
+ int index, com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange value) {
+ if (cursorRangesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCursorRangesIsMutable();
+ cursorRanges_.set(index, value);
+ onChanged();
+ } else {
+ cursorRangesBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public Builder setCursorRanges(
+ int index,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder
+ builderForValue) {
+ if (cursorRangesBuilder_ == null) {
+ ensureCursorRangesIsMutable();
+ cursorRanges_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ cursorRangesBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public Builder addCursorRanges(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange value) {
+ if (cursorRangesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCursorRangesIsMutable();
+ cursorRanges_.add(value);
+ onChanged();
+ } else {
+ cursorRangesBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public Builder addCursorRanges(
+ int index, com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange value) {
+ if (cursorRangesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCursorRangesIsMutable();
+ cursorRanges_.add(index, value);
+ onChanged();
+ } else {
+ cursorRangesBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public Builder addCursorRanges(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder
+ builderForValue) {
+ if (cursorRangesBuilder_ == null) {
+ ensureCursorRangesIsMutable();
+ cursorRanges_.add(builderForValue.build());
+ onChanged();
+ } else {
+ cursorRangesBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public Builder addCursorRanges(
+ int index,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder
+ builderForValue) {
+ if (cursorRangesBuilder_ == null) {
+ ensureCursorRangesIsMutable();
+ cursorRanges_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ cursorRangesBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public Builder addAllCursorRanges(
+ java.lang.Iterable<
+ ? extends com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange>
+ values) {
+ if (cursorRangesBuilder_ == null) {
+ ensureCursorRangesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, cursorRanges_);
+ onChanged();
+ } else {
+ cursorRangesBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public Builder clearCursorRanges() {
+ if (cursorRangesBuilder_ == null) {
+ cursorRanges_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ cursorRangesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public Builder removeCursorRanges(int index) {
+ if (cursorRangesBuilder_ == null) {
+ ensureCursorRangesIsMutable();
+ cursorRanges_.remove(index);
+ onChanged();
+ } else {
+ cursorRangesBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder
+ getCursorRangesBuilder(int index) {
+ return getCursorRangesFieldBuilder().getBuilder(index);
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder
+ getCursorRangesOrBuilder(int index) {
+ if (cursorRangesBuilder_ == null) {
+ return cursorRanges_.get(index);
+ } else {
+ return cursorRangesBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public java.util.List<
+ ? extends com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder>
+ getCursorRangesOrBuilderList() {
+ if (cursorRangesBuilder_ != null) {
+ return cursorRangesBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(cursorRanges_);
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder
+ addCursorRangesBuilder() {
+ return getCursorRangesFieldBuilder()
+ .addBuilder(
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ .getDefaultInstance());
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder
+ addCursorRangesBuilder(int index) {
+ return getCursorRangesFieldBuilder()
+ .addBuilder(
+ index,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange
+ .getDefaultInstance());
+ }
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ public java.util.List<
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder>
+ getCursorRangesBuilderList() {
+ return getCursorRangesFieldBuilder().getBuilderList();
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder>
+ getCursorRangesFieldBuilder() {
+ if (cursorRangesBuilder_ == null) {
+ cursorRangesBuilder_ =
+ new com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange.Builder,
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder>(
+ cursorRanges_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
+ cursorRanges_ = null;
+ }
+ return cursorRangesBuilder_;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishResponseOrBuilder.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishResponseOrBuilder.java
index e64d31f8f..ae78ec184 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishResponseOrBuilder.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/MessagePublishResponseOrBuilder.java
@@ -60,4 +60,99 @@ public interface MessagePublishResponseOrBuilder
* .google.cloud.pubsublite.v1.Cursor start_cursor = 1;
*/
com.google.cloud.pubsublite.proto.CursorOrBuilder getStartCursorOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ java.util.List
+ getCursorRangesList();
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRange getCursorRanges(int index);
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ int getCursorRangesCount();
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ java.util.List<
+ ? extends com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder>
+ getCursorRangesOrBuilderList();
+ /**
+ *
+ *
+ *
+ * Cursors for messages published in the batch. There will exist multiple
+ * ranges when cursors are not contiguous within the batch.
+ * The cursor ranges may not account for all messages in the batch when
+ * publish idempotency is enabled. A missing range indicates that cursors
+ * could not be determined for messages within the range, as they were
+ * deduplicated and the necessary data was not available at publish time.
+ * These messages will have offsets when received by a subscriber.
+ *
+ *
+ *
+ * repeated .google.cloud.pubsublite.v1.MessagePublishResponse.CursorRange cursor_ranges = 2;
+ *
+ */
+ com.google.cloud.pubsublite.proto.MessagePublishResponse.CursorRangeOrBuilder
+ getCursorRangesOrBuilder(int index);
}
diff --git a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/PublisherProto.java b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/PublisherProto.java
index e281ca263..5fdca7813 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/PublisherProto.java
+++ b/proto-google-cloud-pubsublite-v1/src/main/java/com/google/cloud/pubsublite/proto/PublisherProto.java
@@ -43,6 +43,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_fieldAccessorTable;
static final com.google.protobuf.Descriptors.Descriptor
internal_static_google_cloud_pubsublite_v1_PublishRequest_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
@@ -64,34 +68,40 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "roto\022\032google.cloud.pubsublite.v1\032\034google"
+ "/api/annotations.proto\032\027google/api/clien"
+ "t.proto\032\'google/cloud/pubsublite/v1/comm"
- + "on.proto\"9\n\025InitialPublishRequest\022\r\n\005top"
- + "ic\030\001 \001(\t\022\021\n\tpartition\030\002 \001(\003\"\030\n\026InitialPu"
- + "blishResponse\"T\n\025MessagePublishRequest\022;"
- + "\n\010messages\030\001 \003(\0132).google.cloud.pubsubli"
- + "te.v1.PubSubMessage\"R\n\026MessagePublishRes"
- + "ponse\0228\n\014start_cursor\030\001 \001(\0132\".google.clo"
- + "ud.pubsublite.v1.Cursor\"\304\001\n\016PublishReque"
- + "st\022L\n\017initial_request\030\001 \001(\01321.google.clo"
- + "ud.pubsublite.v1.InitialPublishRequestH\000"
- + "\022T\n\027message_publish_request\030\002 \001(\01321.goog"
- + "le.cloud.pubsublite.v1.MessagePublishReq"
- + "uestH\000B\016\n\014request_type\"\302\001\n\017PublishRespon"
- + "se\022N\n\020initial_response\030\001 \001(\01322.google.cl"
- + "oud.pubsublite.v1.InitialPublishResponse"
- + "H\000\022N\n\020message_response\030\002 \001(\01322.google.cl"
- + "oud.pubsublite.v1.MessagePublishResponse"
- + "H\000B\017\n\rresponse_type2\313\001\n\020PublisherService"
- + "\022h\n\007Publish\022*.google.cloud.pubsublite.v1"
- + ".PublishRequest\032+.google.cloud.pubsublit"
- + "e.v1.PublishResponse\"\000(\0010\001\032M\312A\031pubsublit"
- + "e.googleapis.com\322A.https://www.googleapi"
- + "s.com/auth/cloud-platformB\322\001\n!com.google"
- + ".cloud.pubsublite.protoB\016PublisherProtoP"
- + "\001Z>cloud.google.com/go/pubsublite/apiv1/"
- + "pubsublitepb;pubsublitepb\370\001\001\252\002\032Google.Cl"
- + "oud.PubSubLite.V1\312\002\032Google\\Cloud\\PubSubL"
- + "ite\\V1\352\002\035Google::Cloud::PubSubLite::V1b\006"
- + "proto3"
+ + "on.proto\"L\n\025InitialPublishRequest\022\r\n\005top"
+ + "ic\030\001 \001(\t\022\021\n\tpartition\030\002 \001(\003\022\021\n\tclient_id"
+ + "\030\003 \001(\014\"\030\n\026InitialPublishResponse\"s\n\025Mess"
+ + "agePublishRequest\022;\n\010messages\030\001 \003(\0132).go"
+ + "ogle.cloud.pubsublite.v1.PubSubMessage\022\035"
+ + "\n\025first_sequence_number\030\002 \001(\003\"\232\002\n\026Messag"
+ + "ePublishResponse\0228\n\014start_cursor\030\001 \001(\0132\""
+ + ".google.cloud.pubsublite.v1.Cursor\022U\n\rcu"
+ + "rsor_ranges\030\002 \003(\0132>.google.cloud.pubsubl"
+ + "ite.v1.MessagePublishResponse.CursorRang"
+ + "e\032o\n\013CursorRange\0228\n\014start_cursor\030\001 \001(\0132\""
+ + ".google.cloud.pubsublite.v1.Cursor\022\023\n\013st"
+ + "art_index\030\002 \001(\005\022\021\n\tend_index\030\003 \001(\005\"\304\001\n\016P"
+ + "ublishRequest\022L\n\017initial_request\030\001 \001(\01321"
+ + ".google.cloud.pubsublite.v1.InitialPubli"
+ + "shRequestH\000\022T\n\027message_publish_request\030\002"
+ + " \001(\01321.google.cloud.pubsublite.v1.Messag"
+ + "ePublishRequestH\000B\016\n\014request_type\"\302\001\n\017Pu"
+ + "blishResponse\022N\n\020initial_response\030\001 \001(\0132"
+ + "2.google.cloud.pubsublite.v1.InitialPubl"
+ + "ishResponseH\000\022N\n\020message_response\030\002 \001(\0132"
+ + "2.google.cloud.pubsublite.v1.MessagePubl"
+ + "ishResponseH\000B\017\n\rresponse_type2\313\001\n\020Publi"
+ + "sherService\022h\n\007Publish\022*.google.cloud.pu"
+ + "bsublite.v1.PublishRequest\032+.google.clou"
+ + "d.pubsublite.v1.PublishResponse\"\000(\0010\001\032M\312"
+ + "A\031pubsublite.googleapis.com\322A.https://ww"
+ + "w.googleapis.com/auth/cloud-platformB\322\001\n"
+ + "!com.google.cloud.pubsublite.protoB\016Publ"
+ + "isherProtoP\001Z>cloud.google.com/go/pubsub"
+ + "lite/apiv1/pubsublitepb;pubsublitepb\370\001\001\252"
+ + "\002\032Google.Cloud.PubSubLite.V1\312\002\032Google\\Cl"
+ + "oud\\PubSubLite\\V1\352\002\035Google::Cloud::PubSu"
+ + "bLite::V1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -107,7 +117,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_pubsublite_v1_InitialPublishRequest_descriptor,
new java.lang.String[] {
- "Topic", "Partition",
+ "Topic", "Partition", "ClientId",
});
internal_static_google_cloud_pubsublite_v1_InitialPublishResponse_descriptor =
getDescriptor().getMessageTypes().get(1);
@@ -121,7 +131,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_pubsublite_v1_MessagePublishRequest_descriptor,
new java.lang.String[] {
- "Messages",
+ "Messages", "FirstSequenceNumber",
});
internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_descriptor =
getDescriptor().getMessageTypes().get(3);
@@ -129,7 +139,17 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_descriptor,
new java.lang.String[] {
- "StartCursor",
+ "StartCursor", "CursorRanges",
+ });
+ internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_descriptor =
+ internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_descriptor
+ .getNestedTypes()
+ .get(0);
+ internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_cloud_pubsublite_v1_MessagePublishResponse_CursorRange_descriptor,
+ new java.lang.String[] {
+ "StartCursor", "StartIndex", "EndIndex",
});
internal_static_google_cloud_pubsublite_v1_PublishRequest_descriptor =
getDescriptor().getMessageTypes().get(4);
diff --git a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/admin.proto b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/admin.proto
index b13270b96..484aa1956 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/admin.proto
+++ b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/admin.proto
@@ -38,7 +38,8 @@ option ruby_package = "Google::Cloud::PubSubLite::V1";
// subscriptions, such creating, listing, and deleting topics and subscriptions.
service AdminService {
option (google.api.default_host) = "pubsublite.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
// Creates a new topic.
rpc CreateTopic(CreateTopicRequest) returns (Topic) {
@@ -91,7 +92,8 @@ service AdminService {
}
// Lists the subscriptions attached to the specified topic.
- rpc ListTopicSubscriptions(ListTopicSubscriptionsRequest) returns (ListTopicSubscriptionsResponse) {
+ rpc ListTopicSubscriptions(ListTopicSubscriptionsRequest)
+ returns (ListTopicSubscriptionsResponse) {
option (google.api.http) = {
get: "/v1/admin/{name=projects/*/locations/*/topics/*}/subscriptions"
};
@@ -104,7 +106,8 @@ service AdminService {
post: "/v1/admin/{parent=projects/*/locations/*}/subscriptions"
body: "subscription"
};
- option (google.api.method_signature) = "parent,subscription,subscription_id";
+ option (google.api.method_signature) =
+ "parent,subscription,subscription_id";
}
// Returns the subscription configuration.
@@ -116,7 +119,8 @@ service AdminService {
}
// Returns the list of subscriptions for the given project.
- rpc ListSubscriptions(ListSubscriptionsRequest) returns (ListSubscriptionsResponse) {
+ rpc ListSubscriptions(ListSubscriptionsRequest)
+ returns (ListSubscriptionsResponse) {
option (google.api.http) = {
get: "/v1/admin/{parent=projects/*/locations/*}/subscriptions"
};
@@ -133,7 +137,8 @@ service AdminService {
}
// Deletes the specified subscription.
- rpc DeleteSubscription(DeleteSubscriptionRequest) returns (google.protobuf.Empty) {
+ rpc DeleteSubscription(DeleteSubscriptionRequest)
+ returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1/admin/{name=projects/*/locations/*/subscriptions/*}"
};
@@ -161,7 +166,8 @@ service AdminService {
//
// If the previous seek operation has not yet completed, it will be aborted
// and the new invocation of seek will supersede it.
- rpc SeekSubscription(SeekSubscriptionRequest) returns (google.longrunning.Operation) {
+ rpc SeekSubscription(SeekSubscriptionRequest)
+ returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/admin/{name=projects/*/locations/*/subscriptions/*}:seek"
body: "*"
@@ -190,7 +196,8 @@ service AdminService {
}
// Returns the list of reservations for the given project.
- rpc ListReservations(ListReservationsRequest) returns (ListReservationsResponse) {
+ rpc ListReservations(ListReservationsRequest)
+ returns (ListReservationsResponse) {
option (google.api.http) = {
get: "/v1/admin/{parent=projects/*/locations/*}/reservations"
};
@@ -207,7 +214,8 @@ service AdminService {
}
// Deletes the specified reservation.
- rpc DeleteReservation(DeleteReservationRequest) returns (google.protobuf.Empty) {
+ rpc DeleteReservation(DeleteReservationRequest)
+ returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1/admin/{name=projects/*/locations/*/reservations/*}"
};
@@ -215,7 +223,8 @@ service AdminService {
}
// Lists the topics attached to the specified reservation.
- rpc ListReservationTopics(ListReservationTopicsRequest) returns (ListReservationTopicsResponse) {
+ rpc ListReservationTopics(ListReservationTopicsRequest)
+ returns (ListReservationTopicsResponse) {
option (google.api.http) = {
get: "/v1/admin/{name=projects/*/locations/*/reservations/*}/topics"
};
@@ -234,11 +243,12 @@ message CreateTopicRequest {
}
];
- // Required. Configuration of the topic to create. Its `name` field is ignored.
+ // Required. Configuration of the topic to create. Its `name` field is
+ // ignored.
Topic topic = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The ID to use for the topic, which will become the final component of
- // the topic's name.
+ // Required. The ID to use for the topic, which will become the final
+ // component of the topic's name.
//
// This value is structured like: `my-topic-name`.
string topic_id = 3 [(google.api.field_behavior) = REQUIRED];
@@ -313,7 +323,8 @@ message UpdateTopicRequest {
Topic topic = 1 [(google.api.field_behavior) = REQUIRED];
// Required. A mask specifying the topic fields to change.
- google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = REQUIRED];
}
// Request for DeleteTopic.
@@ -372,11 +383,12 @@ message CreateSubscriptionRequest {
}
];
- // Required. Configuration of the subscription to create. Its `name` field is ignored.
+ // Required. Configuration of the subscription to create. Its `name` field is
+ // ignored.
Subscription subscription = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The ID to use for the subscription, which will become the final component
- // of the subscription's name.
+ // Required. The ID to use for the subscription, which will become the final
+ // component of the subscription's name.
//
// This value is structured like: `my-sub-name`.
string subscription_id = 3 [(google.api.field_behavior) = REQUIRED];
@@ -440,7 +452,8 @@ message UpdateSubscriptionRequest {
Subscription subscription = 1 [(google.api.field_behavior) = REQUIRED];
// Required. A mask specifying the subscription fields to change.
- google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = REQUIRED];
}
// Request for DeleteSubscription.
@@ -490,9 +503,7 @@ message SeekSubscriptionRequest {
}
// Response for SeekSubscription long running operation.
-message SeekSubscriptionResponse {
-
-}
+message SeekSubscriptionResponse {}
// Metadata for long running operations.
message OperationMetadata {
@@ -523,11 +534,12 @@ message CreateReservationRequest {
}
];
- // Required. Configuration of the reservation to create. Its `name` field is ignored.
+ // Required. Configuration of the reservation to create. Its `name` field is
+ // ignored.
Reservation reservation = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The ID to use for the reservation, which will become the final component of
- // the reservation's name.
+ // Required. The ID to use for the reservation, which will become the final
+ // component of the reservation's name.
//
// This value is structured like: `my-reservation-name`.
string reservation_id = 3 [(google.api.field_behavior) = REQUIRED];
@@ -587,7 +599,8 @@ message UpdateReservationRequest {
Reservation reservation = 1 [(google.api.field_behavior) = REQUIRED];
// Required. A mask specifying the reservation fields to change.
- google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = REQUIRED];
}
// Request for DeleteReservation.
diff --git a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/common.proto b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/common.proto
index dd6d89a73..3f08c3086 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/common.proto
+++ b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/common.proto
@@ -163,8 +163,8 @@ message Topic {
// Structured like:
// projects/{project_number}/locations/{location}/reservations/{reservation_id}
string throughput_reservation = 1 [(google.api.resource_reference) = {
- type: "pubsublite.googleapis.com/Reservation"
- }];
+ type: "pubsublite.googleapis.com/Reservation"
+ }];
}
// The name of the topic.
@@ -221,8 +221,8 @@ message Subscription {
// Structured like:
// projects/{project_number}/locations/{location}/topics/{topic_id}
string topic = 2 [(google.api.resource_reference) = {
- type: "pubsublite.googleapis.com/Topic"
- }];
+ type: "pubsublite.googleapis.com/Topic"
+ }];
// The settings for this subscription's message delivery.
DeliveryConfig delivery_config = 3;
@@ -265,13 +265,13 @@ message ExportConfig {
// `ACTIVE` and `PAUSED` will result in an error.
State desired_state = 1;
- // Output only. The current state of the export, which may be different to the desired
- // state due to errors.
+ // Output only. The current state of the export, which may be different to the
+ // desired state due to errors. This field is output only.
State current_state = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not
- // be exported to the destination. For example, the message can not be
- // published to the Pub/Sub service because it does not satisfy the
+ // Optional. The name of an optional Pub/Sub Lite topic to publish messages
+ // that can not be exported to the destination. For example, the message can
+ // not be published to the Pub/Sub service because it does not satisfy the
// constraints documented at https://cloud.google.com/pubsub/docs/publisher.
//
// Structured like:
diff --git a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/cursor.proto b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/cursor.proto
index 3b8fc7d0e..95a62fc36 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/cursor.proto
+++ b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/cursor.proto
@@ -36,11 +36,12 @@ option ruby_package = "Google::Cloud::PubSubLite::V1";
// progress within a topic partition for a given subscription.
service CursorService {
option (google.api.default_host) = "pubsublite.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
// Establishes a stream with the server for managing committed cursors.
- rpc StreamingCommitCursor(stream StreamingCommitCursorRequest) returns (stream StreamingCommitCursorResponse) {
- }
+ rpc StreamingCommitCursor(stream StreamingCommitCursorRequest)
+ returns (stream StreamingCommitCursorResponse) {}
// Updates the committed cursor.
rpc CommitCursor(CommitCursorRequest) returns (CommitCursorResponse) {
@@ -51,7 +52,8 @@ service CursorService {
}
// Returns all committed cursor information for a subscription.
- rpc ListPartitionCursors(ListPartitionCursorsRequest) returns (ListPartitionCursorsResponse) {
+ rpc ListPartitionCursors(ListPartitionCursorsRequest)
+ returns (ListPartitionCursorsResponse) {
option (google.api.http) = {
get: "/v1/cursor/{parent=projects/*/locations/*/subscriptions/*}/cursors"
};
@@ -72,9 +74,7 @@ message InitialCommitCursorRequest {
}
// Response to an InitialCommitCursorRequest.
-message InitialCommitCursorResponse {
-
-}
+message InitialCommitCursorResponse {}
// Streaming request to update the committed cursor. Subsequent
// SequencedCommitCursorRequests override outstanding ones.
@@ -129,9 +129,7 @@ message CommitCursorRequest {
}
// Response for CommitCursor.
-message CommitCursorResponse {
-
-}
+message CommitCursorResponse {}
// Request for ListPartitionCursors.
message ListPartitionCursorsRequest {
diff --git a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/publisher.proto b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/publisher.proto
index 748fabcdf..20b924384 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/publisher.proto
+++ b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/publisher.proto
@@ -35,7 +35,8 @@ option ruby_package = "Google::Cloud::PubSubLite::V1";
// to subscriber clients upon request (via the `SubscriberService`).
service PublisherService {
option (google.api.default_host) = "pubsublite.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
// Establishes a stream with the server for publishing messages. Once the
// stream is initialized, the client publishes messages by sending publish
@@ -44,8 +45,7 @@ service PublisherService {
// were sent. Note that multiple PublishRequests can be in flight
// simultaneously, but they will be processed by the server in the order that
// they are sent by the client on a given stream.
- rpc Publish(stream PublishRequest) returns (stream PublishResponse) {
- }
+ rpc Publish(stream PublishRequest) returns (stream PublishResponse) {}
}
// The first request that must be sent on a newly-opened stream.
@@ -57,24 +57,68 @@ message InitialPublishRequest {
// Partitions are zero indexed, so `partition` must be in the range [0,
// topic.num_partitions).
int64 partition = 2;
+
+ // Unique identifier for a publisher client. If set, enables publish
+ // idempotency within a publisher client session.
+ //
+ // The length of this field must be exactly 16 bytes long and should be
+ // populated with a 128 bit uuid, generated by standard uuid algorithms like
+ // uuid1 or uuid4. The same identifier should be reused following
+ // disconnections with retryable stream errors.
+ bytes client_id = 3;
}
// Response to an InitialPublishRequest.
-message InitialPublishResponse {
-
-}
+message InitialPublishResponse {}
// Request to publish messages to the topic.
message MessagePublishRequest {
// The messages to publish.
repeated PubSubMessage messages = 1;
+
+ // The sequence number corresponding to the first message in `messages`.
+ // Messages within a batch are ordered and the sequence numbers of all
+ // subsequent messages in the batch are assumed to be incremental.
+ //
+ // Sequence numbers are assigned at the message level and the first message
+ // published in a publisher client session must have a sequence number of 0.
+ // All messages must have contiguous sequence numbers, which uniquely identify
+ // the messages accepted by the publisher client. Since messages are ordered,
+ // the client only needs to specify the sequence number of the first message
+ // in a published batch. The server deduplicates messages with the same
+ // sequence number from the same publisher `client_id`.
+ int64 first_sequence_number = 2;
}
// Response to a MessagePublishRequest.
message MessagePublishResponse {
+ // Cursors for a subrange of published messages.
+ message CursorRange {
+ // The cursor of the message at the start index. The cursors for remaining
+ // messages up to the end index (exclusive) are sequential.
+ Cursor start_cursor = 1;
+
+ // Index of the message in the published batch that corresponds to the
+ // start cursor. Inclusive.
+ int32 start_index = 2;
+
+ // Index of the last message in this range. Exclusive.
+ int32 end_index = 3;
+ }
+
// The cursor of the first published message in the batch. The cursors for any
// remaining messages in the batch are guaranteed to be sequential.
Cursor start_cursor = 1;
+
+ // Cursors for messages published in the batch. There will exist multiple
+ // ranges when cursors are not contiguous within the batch.
+ //
+ // The cursor ranges may not account for all messages in the batch when
+ // publish idempotency is enabled. A missing range indicates that cursors
+ // could not be determined for messages within the range, as they were
+ // deduplicated and the necessary data was not available at publish time.
+ // These messages will have offsets when received by a subscriber.
+ repeated CursorRange cursor_ranges = 2;
}
// Request sent from the client to the server on a stream.
diff --git a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/subscriber.proto b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/subscriber.proto
index 3a22c77bb..a02b3cf5d 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/subscriber.proto
+++ b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/subscriber.proto
@@ -34,18 +34,19 @@ option ruby_package = "Google::Cloud::PubSubLite::V1";
// from subscriptions.
service SubscriberService {
option (google.api.default_host) = "pubsublite.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
// Establishes a stream with the server for receiving messages.
- rpc Subscribe(stream SubscribeRequest) returns (stream SubscribeResponse) {
- }
+ rpc Subscribe(stream SubscribeRequest) returns (stream SubscribeResponse) {}
}
// The service that a subscriber client application uses to determine which
// partitions it should connect to.
service PartitionAssignmentService {
option (google.api.default_host) = "pubsublite.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
// Assign partitions for this client to handle for the specified subscription.
//
@@ -54,8 +55,8 @@ service PartitionAssignmentService {
// outstanding on the stream at a time.
// The client should send a PartitionAssignmentAck after updating the
// partitions it is connected to to reflect the new assignment.
- rpc AssignPartitions(stream PartitionAssignmentRequest) returns (stream PartitionAssignment) {
- }
+ rpc AssignPartitions(stream PartitionAssignmentRequest)
+ returns (stream PartitionAssignment) {}
}
// The first request that must be sent on a newly-opened stream. The client must
@@ -68,9 +69,9 @@ message InitialSubscribeRequest {
// so `partition` must be in the range [0, topic.num_partitions).
int64 partition = 2;
- // Optional. Initial target location within the message backlog. If not set, messages
- // will be delivered from the commit cursor for the given subscription and
- // partition.
+ // Optional. Initial target location within the message backlog. If not set,
+ // messages will be delivered from the commit cursor for the given
+ // subscription and partition.
SeekRequest initial_location = 4 [(google.api.field_behavior) = OPTIONAL];
}
@@ -202,9 +203,7 @@ message PartitionAssignment {
// partitions may remain unassigned for a period of time until the
// client is known to be inactive, after which time the server will break the
// stream.
-message PartitionAssignmentAck {
-
-}
+message PartitionAssignmentAck {}
// A request on the PartitionAssignment stream.
message PartitionAssignmentRequest {
diff --git a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/topic_stats.proto b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/topic_stats.proto
index 23d225acf..f6226d3e0 100644
--- a/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/topic_stats.proto
+++ b/proto-google-cloud-pubsublite-v1/src/main/proto/google/cloud/pubsublite/v1/topic_stats.proto
@@ -34,11 +34,13 @@ option ruby_package = "Google::Cloud::PubSubLite::V1";
// This service allows users to get stats about messages in their topic.
service TopicStatsService {
option (google.api.default_host) = "pubsublite.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
// Compute statistics about a range of messages in a given topic and
// partition.
- rpc ComputeMessageStats(ComputeMessageStatsRequest) returns (ComputeMessageStatsResponse) {
+ rpc ComputeMessageStats(ComputeMessageStatsRequest)
+ returns (ComputeMessageStatsResponse) {
option (google.api.http) = {
post: "/v1/topicStats/{topic=projects/*/locations/*/topics/*}:computeMessageStats"
body: "*"
@@ -51,7 +53,8 @@ service TopicStatsService {
// 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.
- rpc ComputeHeadCursor(ComputeHeadCursorRequest) returns (ComputeHeadCursorResponse) {
+ rpc ComputeHeadCursor(ComputeHeadCursorRequest)
+ returns (ComputeHeadCursorResponse) {
option (google.api.http) = {
post: "/v1/topicStats/{topic=projects/*/locations/*/topics/*}:computeHeadCursor"
body: "*"
@@ -60,7 +63,8 @@ service TopicStatsService {
// Compute the corresponding cursor for a publish or event time in a topic
// partition.
- rpc ComputeTimeCursor(ComputeTimeCursorRequest) returns (ComputeTimeCursorResponse) {
+ rpc ComputeTimeCursor(ComputeTimeCursorRequest)
+ returns (ComputeTimeCursorResponse) {
option (google.api.http) = {
post: "/v1/topicStats/{topic=projects/*/locations/*/topics/*}:computeTimeCursor"
body: "*"
@@ -143,8 +147,8 @@ message ComputeTimeCursorRequest {
// Required. The partition for which we should compute the cursor.
int64 partition = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The target publish or event time. Specifying a future time will return an
- // unset cursor.
+ // Required. The target publish or event time. Specifying a future time will
+ // return an unset cursor.
TimeTarget target = 3 [(google.api.field_behavior) = REQUIRED];
}