blob: b185b4ba81950c31f825ff3bf9c42d842abe568c [file] [log] [blame]
// Copyright 2020 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.
// +build fuchsia
package dispatch
import (
"syscall/zx/internal/context"
)
type dispatcherKey struct{}
// GetDispatcher returns the dispatcher stored on ctx if it exists; otherwise
// the bool return value will be false.
func GetDispatcher(ctx context.Context) (*Dispatcher, bool) {
key, ok := ctx.Value(dispatcherKey{}).(*Dispatcher)
return key, ok
}
// WithDispatcher returns a Context that embeds parent and stores dispatcher.
func WithDispatcher(parent context.Context, dispatcher *Dispatcher) context.Context {
return context.WithValue(parent, dispatcherKey{}, dispatcher)
}