class Dynflow::Semaphores::Abstract

Public Instance Methods

drain() click to toggle source

Requests all tickets Returns all free tickets from the semaphore

# File lib/dynflow/semaphores/abstract.rb, line 42
def drain
  raise NotImplementedError
end
get(n = 1) click to toggle source

Tries to get n tickets Returns n if the semaphore has free >= n Returns free if n > free

# File lib/dynflow/semaphores/abstract.rb, line 36
def get(n = 1)
  raise NotImplementedErrorn
end
get_waiting() click to toggle source

Gets first object from the queue

# File lib/dynflow/semaphores/abstract.rb, line 14
def get_waiting
  raise NotImplementedError
end
has_waiting?() click to toggle source

Checks if there are objects in the queue

# File lib/dynflow/semaphores/abstract.rb, line 19
def has_waiting?
  raise NotImpelementedError
end
release(n = 1) click to toggle source

Returns n tickets to the semaphore

# File lib/dynflow/semaphores/abstract.rb, line 24
def release(n = 1)
  raise NotImplementedError
end
save() click to toggle source

Saves the semaphore’s state to some persistent storage

# File lib/dynflow/semaphores/abstract.rb, line 29
def save
  raise NotImplementedError
end
wait(thing) click to toggle source

Tries to get ticket from the semaphore Returns true if thing got a ticket Rturns false otherwise and puts the thing into the semaphore’s queue

# File lib/dynflow/semaphores/abstract.rb, line 9
def wait(thing)
  raise NotImplementedError
end