Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package sync is an interface for distributed synchronization
Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
var (
	ErrLockTimeout = errors.New("lock timeout")
)
    Functions ¶
This section is empty.
Types ¶
type Leader ¶
type Leader interface {
	// Resign resign leadership
	Resign() error
	// Status returns when leadership is lost
	Status() chan bool
}
    Leader provides leadership election
type LeaderOption ¶
type LeaderOption func(o *LeaderOptions)
type LeaderOptions ¶
type LeaderOptions struct{}
    type LockOption ¶
type LockOption func(o *LockOptions)
type Sync ¶
type Sync interface {
	// Init Initialise options
	Init(...Option) error
	// Options Return the options
	Options() Options
	// Leader Elect a leader
	Leader(id string, opts ...LeaderOption) (Leader, error)
	// Lock acquires a lock
	Lock(id string, opts ...LockOption) error
	// Unlock releases a lock
	Unlock(id string) error
	// String Sync implementation
	String() string
}
    Sync is an interface for distributed synchronization
 Click to show internal directories. 
   Click to hide internal directories.