class GRPC::Notifier
Notifier is useful high-level synchronization primitive.
Attributes
notified[R]
notified?[R]
payload[R]
Public Class Methods
new()
click to toggle source
# File src/ruby/lib/grpc/notifier.rb, line 37 def initialize @mutex = Mutex.new @cvar = ConditionVariable.new @notified = false @payload = nil end
Public Instance Methods
notify(payload)
click to toggle source
# File src/ruby/lib/grpc/notifier.rb, line 50 def notify(payload) @mutex.synchronize do return Error.new('already notified') if notified? @payload = payload @notified = true @cvar.signal return nil end end
wait()
click to toggle source
# File src/ruby/lib/grpc/notifier.rb, line 44 def wait @mutex.synchronize do @cvar.wait(@mutex) until notified? end end