consistency

package
v1.45.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package consistency defines middleware to set, based on the request's consistency level, the right datastore revision to use.

Index

Constants

This section is empty.

Variables

View Source
var ConsistencyCounter = promauto.NewCounterVec(prometheus.CounterOpts{
	Namespace: "spicedb",
	Subsystem: "middleware",
	Name:      "consistency_assigned_total",
	Help:      "Count of the consistencies used per request",
}, []string{"method", "source", "service"})

Functions

func AddRevisionToContext added in v1.39.0

func AddRevisionToContext(ctx context.Context, req any, ds datastore.Datastore, serviceLabel string) error

AddRevisionToContext adds a revision to the given context, based on the consistency block found in the given request (if applicable).

func ContextWithHandle added in v1.39.0

func ContextWithHandle(ctx context.Context) context.Context

ContextWithHandle adds a placeholder to a context that will later be filled by the revision

func ForceFullConsistencyStreamServerInterceptor added in v1.39.0

func ForceFullConsistencyStreamServerInterceptor(serviceLabel string) grpc.StreamServerInterceptor

ForceFullConsistencyStreamServerInterceptor returns a new stream server interceptor that enforces full consistency for all requests, except for those in the bypassServiceWhitelist.

func ForceFullConsistencyUnaryServerInterceptor added in v1.39.0

func ForceFullConsistencyUnaryServerInterceptor(serviceLabel string) grpc.UnaryServerInterceptor

ForceFullConsistencyUnaryServerInterceptor returns a new unary server interceptor that enforces full consistency for all requests, except for those in the bypassServiceWhitelist.

func RevisionFromContext

func RevisionFromContext(ctx context.Context) (datastore.Revision, *v1.ZedToken, error)

RevisionFromContext reads the selected revision out of a context.Context, computes a zedtoken from it, and returns an error if it has not been set on the context.

func StreamServerInterceptor added in v1.39.0

func StreamServerInterceptor(serviceLabel string) grpc.StreamServerInterceptor

StreamServerInterceptor returns a new stream server interceptor that performs per-request exchange of the specified consistency configuration for the revision at which to perform the request.

func UnaryServerInterceptor added in v1.39.0

func UnaryServerInterceptor(serviceLabel string) grpc.UnaryServerInterceptor

UnaryServerInterceptor returns a new unary server interceptor that performs per-request exchange of the specified consistency configuration for the revision at which to perform the request.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL