Skip to main content
Glama
presence.go1.17 kB
// Copyright 2025 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package filedesc import "google.golang.org/protobuf/reflect/protoreflect" // UsePresenceForField reports whether the presence bitmap should be used for // the specified field. func UsePresenceForField(fd protoreflect.FieldDescriptor) (usePresence, canBeLazy bool) { switch { case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic(): // Oneof fields never use the presence bitmap. // // Synthetic oneofs are an exception: Those are used to implement proto3 // optional fields and hence should follow non-oneof field semantics. return false, false case fd.IsMap(): // Map-typed fields never use the presence bitmap. return false, false case fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind: // Lazy fields always use the presence bitmap (only messages can be lazy). isLazy := fd.(interface{ IsLazy() bool }).IsLazy() return isLazy, isLazy default: // If the field has presence, use the presence bitmap. return fd.HasPresence(), false } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mozillazg/kube-audit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server