Class: Droonga::EventLoop

Inherits:
Object
  • Object
show all
Defined in:
lib/droonga/event_loop.rb

Instance Method Summary collapse

Constructor Details

#initialize(loop) ⇒ EventLoop

Returns a new instance of EventLoop.



22
23
24
25
26
# File 'lib/droonga/event_loop.rb', line 22

def initialize(loop)
  @loop = loop
  @loop_breaker = Coolio::AsyncWatcher.new
  @loop_breaker.attach(@loop)
end

Instance Method Details

#attach(watcher) ⇒ Object



28
29
30
31
# File 'lib/droonga/event_loop.rb', line 28

def attach(watcher)
  @loop.attach(watcher)
  break_current_loop
end

#break_current_loopObject



33
34
35
# File 'lib/droonga/event_loop.rb', line 33

def break_current_loop
  @loop_breaker.signal
end

#runObject



37
38
39
# File 'lib/droonga/event_loop.rb', line 37

def run
  @loop.run
end

#stopObject



41
42
43
44
# File 'lib/droonga/event_loop.rb', line 41

def stop
  @loop.stop
  break_current_loop
end