Versions in this module Expand all Collapse all v3 v3.0.0 Oct 13, 2026 Changes in this version + var ErrDecode = errors.New("queue: decode failed") + var ErrForbidden = errors.New("queue: forbidden") + var ErrNotRetryable = errors.New("queue: not retryable") + var ErrTooLarge = errors.New("queue: body too large") + var ErrUnauthorized = errors.New("queue: unauthorized") + func CloudEventsRequestURL(raw string) (string, url.Values, error) + type CloudTasksTarget struct + DeprecatedHostForm bool + Location string + OIDCAudience string + OIDCSA string + Project string + Queue string + ResourceName string + ScheduleDelay time.Duration + TargetURL string + TaskID string + func ParseCloudTasksURL(raw string) (*CloudTasksTarget, error) + func (t *CloudTasksTarget) CreateTaskAPIURL() string + type DeliveryMode int + const DeliveryModePull + const DeliveryModePush + func ClassifySubscriberURL(queueURL string) (DeliveryMode, url.Values, error) + func (m DeliveryMode) String() string + type Inspector interface + ListPublishers func() []PublisherInfo + ListSubscribers func() []SubscriberInfo + type Manager interface + AddPublisher func(ctx context.Context, reference string, queueURL string) error + AddSubscriber func(ctx context.Context, reference string, queueURL string, ...) error + Close func(ctx context.Context) error + DiscardPublisher func(ctx context.Context, reference string) error + DiscardSubscriber func(ctx context.Context, reference string) error + GetPublisher func(reference string) (Publisher, error) + GetSubscriber func(reference string) (Subscriber, error) + Init func(ctx context.Context) error + Publish func(ctx context.Context, reference string, payload any, ...) error + func NewQueueManager(_ context.Context, workPool workerpool.Manager, opts ...ManagerOption) Manager + type ManagerOption func(*queueManager) + func WithClaimTrust(level protocol.ClaimTrustLevel) ManagerOption + func WithHTTPClient(c *http.Client) ManagerOption + func WithHonorInternalSkip(v bool) ManagerOption + func WithServiceName(name string) ManagerOption + func WithTokenSource(ts oauth2.TokenSource) ManagerOption + type PublishKind int + const PublishKindCloudEventsHTTP + const PublishKindCloudTasks + const PublishKindGoCloud + func ClassifyPublisherURL(queueURL string) (PublishKind, error) + func (k PublishKind) String() string + type Publisher interface + As func(i any) bool + Init func(ctx context.Context) error + Initiated func() bool + Publish func(ctx context.Context, payload any, headers ...map[string]string) error + Ref func() string + Stop func(ctx context.Context) error + type PublisherInfo struct + Initiated bool + Reference string + URL string + type PushLookup interface + GetSubscriber func(reference string) (Subscriber, error) + HasPushSubscribers func() bool + LookupPush func(ref string) (PushTarget, bool) + type PushTarget interface + Mode func() DeliveryMode + ProcessPush func(ctx context.Context, metadata map[string]string, body []byte) error + Ref func() string + type SubscribeWorker interface + Handle func(ctx context.Context, metadata map[string]string, message []byte) error + type Subscriber interface + As func(i any) bool + Init func(ctx context.Context) error + Initiated func() bool + IsIdle func() bool + Metrics func() SubscriberMetrics + Mode func() DeliveryMode + ProcessPush func(ctx context.Context, metadata map[string]string, body []byte) error + Receive func(ctx context.Context) (*pubsub.Message, error) + Ref func() string + State func() SubscriberState + Stop func(ctx context.Context) error + URI func() string + type SubscriberInfo struct + Initiated bool + Mode DeliveryMode + Reference string + State SubscriberState + URL string + type SubscriberMetrics interface + AverageProcessingTime func() time.Duration + IdleTime func(state SubscriberState) time.Duration + IsIdle func(state SubscriberState) bool + type SubscriberState int32 + const SubscriberStateInError + const SubscriberStateProcessing + const SubscriberStateWaiting Other modules containing this package github.com/pitabwire/frame github.com/pitabwire/frame/v2