// Code generated by cue get go. DO NOT EDIT.

//cue:generate cue get go k8s.io/apimachinery/pkg/watch

package watch

// FullChannelBehavior controls how the Broadcaster reacts if a watcher's watch
// channel is full.
#FullChannelBehavior: int // #enumFullChannelBehavior

#enumFullChannelBehavior:
	#WaitIfChannelFull |
	#DropIfChannelFull

#WaitIfChannelFull: #FullChannelBehavior & 0
#DropIfChannelFull: #FullChannelBehavior & 1

_#incomingQueueLength: 25

_#internalRunFunctionMarker: "internal-do-function"
