2022-04-25 12:23:57 -05:00

24 lines
516 B
Go

package protocolversion
import (
"context"
)
type contextKeyType string
// WithContext stores the protocol version in the context.
func WithContext(ctx context.Context, vsn uint32) context.Context {
return context.WithValue(ctx, contextKeyType("version"), vsn)
}
// FromContext retrieves the protocol version from the context, or returns
// zero if no version was present.
func FromContext(ctx context.Context) uint32 {
v, ok := ctx.Value(contextKeyType("version")).(uint32)
if !ok {
v = 0
}
return v
}