Files
iotlcm/worker-svr/internal/library/rabbitmq/delivery.go
T

23 lines
564 B
Go

package rabbitmq
import "context"
type DeliveryMetadata struct {
DeliveryTag uint64
Redelivered bool
Consumer string
Queue string
Headers map[string]any
}
type deliveryMetadataContextKey struct{}
func WithDeliveryMetadata(ctx context.Context, metadata DeliveryMetadata) context.Context {
return context.WithValue(ctx, deliveryMetadataContextKey{}, metadata)
}
func DeliveryMetadataFromContext(ctx context.Context) (DeliveryMetadata, bool) {
metadata, ok := ctx.Value(deliveryMetadataContextKey{}).(DeliveryMetadata)
return metadata, ok
}