mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-06-28 07:59:24 +00:00
Add Slack support
This commit is contained in:
30
vendor/github.com/nlopes/slack/messageID.go
generated
vendored
Normal file
30
vendor/github.com/nlopes/slack/messageID.go
generated
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
package slack
|
||||
|
||||
import "sync"
|
||||
|
||||
// IDGenerator provides an interface for generating integer ID values.
|
||||
type IDGenerator interface {
|
||||
Next() int
|
||||
}
|
||||
|
||||
// NewSafeID returns a new instance of an IDGenerator which is safe for
|
||||
// concurrent use by multiple goroutines.
|
||||
func NewSafeID(startID int) IDGenerator {
|
||||
return &safeID{
|
||||
nextID: startID,
|
||||
mutex: &sync.Mutex{},
|
||||
}
|
||||
}
|
||||
|
||||
type safeID struct {
|
||||
nextID int
|
||||
mutex *sync.Mutex
|
||||
}
|
||||
|
||||
func (s *safeID) Next() int {
|
||||
s.mutex.Lock()
|
||||
defer s.mutex.Unlock()
|
||||
id := s.nextID
|
||||
s.nextID++
|
||||
return id
|
||||
}
|
Reference in New Issue
Block a user