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