Documentation ¶
Index ¶
Constants ¶
View Source
const ( // MaxPublishRequestCount is the maximum number of messages that can be // batched in a single publish request. MaxPublishRequestCount = 1000 // MaxPublishMessageBytes is the maximum allowed serialized size of a single // Pub/Sub message in bytes. MaxPublishMessageBytes = 1000000 // MaxPublishRequestBytes is the maximum allowed serialized size of a single // publish request (containing a batch of messages) in bytes. MaxPublishRequestBytes = 3500000 )
Variables ¶
View Source
var DefaultPublishSettings = PublishSettings{ DelayThreshold: 10 * time.Millisecond, CountThreshold: 100, ByteThreshold: 1e6, Timeout: 60 * time.Second, BufferedByteLimit: 1 << 30, }
DefaultPublishSettings holds the default values for PublishSettings.
View Source
var ( // ErrOverflow indicates that the publish buffers have overflowed. See // comments for PublishSettings.BufferedByteLimit. ErrOverflow = errors.New("pubsublite: client-side publish buffers have overflowed") )
Functions ¶
func NewAdminClient ¶
func NewAdminClient(ctx context.Context, region string, opts ...option.ClientOption) (*vkit.AdminClient, error)
NewAdminClient creates a new gapic AdminClient for a region.
func ValidateRegion ¶
ValidateRegion verifies that the `input` string has the format of a valid Google Cloud region. An example region is "europe-west1". See https://cloud.google.com/compute/docs/regions-zones for more information.
func ValidateZone ¶
ValidateZone verifies that the `input` string has the format of a valid Google Cloud zone. An example zone is "europe-west1-b". See https://cloud.google.com/compute/docs/regions-zones for more information.
Types ¶
type AckConsumer ¶
type AckConsumer interface {
Ack()
}
AckConsumer is the interface exported from this package for acking messages.
type PublishSettings ¶
type PublishSettings struct { // Publish a non-empty batch after this delay has passed. Must be > 0. DelayThreshold time.Duration // Publish a batch when it has this many messages. Must be > 0. The maximum is // MaxPublishRequestCount. CountThreshold int // Publish a batch when its size in bytes reaches this value. Must be > 0. The // maximum is MaxPublishRequestBytes. ByteThreshold int // The maximum time that the client will attempt to establish a publish stream // connection to the server. Must be > 0. // // The timeout is exceeded, the publisher will terminate with the last error // that occurred while trying to reconnect. Note that if the timeout duration // is long, ErrOverflow may occur first. Timeout time.Duration // The maximum number of bytes that the publisher will keep in memory before // returning ErrOverflow. Must be > 0. // // Note that Pub/Sub Lite topics are provisioned a publishing throughput // capacity, per partition, shared by all publisher clients. Setting a large // buffer size can mitigate transient publish spikes. However, consistently // attempting to publish messages at a much higher rate than the publishing // throughput capacity can cause the buffers to overflow. For more // information, see https://cloud.google.com/pubsub/lite/docs/topics. BufferedByteLimit int }
PublishSettings control the batching of published messages.
Click to show internal directories.
Click to hide internal directories.