const ( Unbubbled = Association(iota) // not associated with any bubble CurrentBubble // associated with the current bubble OtherBubble // associated with a different bubble )
func Disassociate[T any](p *T)
Disassociate disassociates p from any bubble.
func IsAssociated[T any](p *T) bool
IsAssociated reports whether p is associated with the current bubble.
func IsInBubble() bool
IsInBubble reports whether the current goroutine is in a bubble.
func Run(f func())
func Wait()
Association is the state of a pointer's bubble association.
type Association int
func Associate[T any](p *T) Association
Associate attempts to associate p with the current bubble. It returns the new association status of p.
A Bubble is a synctest bubble.
Not a public API. Used by syscall/js to propagate bubble membership through syscalls.
type Bubble struct {
// contains filtered or unexported fields
}
func Acquire() *Bubble
Acquire returns a reference to the current goroutine's bubble. The bubble will not become idle until Release is called.
func (b *Bubble) Release()
Release releases the reference to the bubble, allowing it to become idle again.
func (b *Bubble) Run(f func())
Run executes f in the bubble. The current goroutine must not be part of a bubble.