summaryrefslogtreecommitdiff
path: root/vendor/google.golang.org/grpc/internal/grpcsync/event.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/google.golang.org/grpc/internal/grpcsync/event.go')
-rw-r--r--vendor/google.golang.org/grpc/internal/grpcsync/event.go58
1 files changed, 0 insertions, 58 deletions
diff --git a/vendor/google.golang.org/grpc/internal/grpcsync/event.go b/vendor/google.golang.org/grpc/internal/grpcsync/event.go
deleted file mode 100644
index d788c2493..000000000
--- a/vendor/google.golang.org/grpc/internal/grpcsync/event.go
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- *
- * Copyright 2018 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// Package grpcsync implements additional synchronization primitives built upon
-// the sync package.
-package grpcsync
-
-import (
- "sync/atomic"
-)
-
-// Event represents a one-time event that may occur in the future.
-type Event struct {
- fired atomic.Bool
- c chan struct{}
-}
-
-// Fire causes e to complete. It is safe to call multiple times, and
-// concurrently. It returns true iff this call to Fire caused the signaling
-// channel returned by Done to close. If Fire returns false, it is possible
-// the Done channel has not been closed yet.
-func (e *Event) Fire() bool {
- if e.fired.CompareAndSwap(false, true) {
- close(e.c)
- return true
- }
- return false
-}
-
-// Done returns a channel that will be closed when Fire is called.
-func (e *Event) Done() <-chan struct{} {
- return e.c
-}
-
-// HasFired returns true if Fire has been called.
-func (e *Event) HasFired() bool {
- return e.fired.Load()
-}
-
-// NewEvent returns a new, ready-to-use Event.
-func NewEvent() *Event {
- return &Event{c: make(chan struct{})}
-}