Module: PalavaMachine::Server::CoreEvents

Defined in:
lib/palava_machine/server/core_events.rb

Instance Method Summary collapse

Instance Method Details

#em_error(e) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/palava_machine/server/core_events.rb', line 32

def em_error(e)
  if e.is_a? MessageError
    send_error(e.ws, e)
  else
    raise e
  end
end

#em_initObject



28
29
30
# File 'lib/palava_machine/server/core_events.rb', line 28

def em_init
  em_init_pm
end

#em_sigintObject



44
45
46
# File 'lib/palava_machine/server/core_events.rb', line 44

def em_sigint
  stop! 0
end

#em_sigtermObject



40
41
42
# File 'lib/palava_machine/server/core_events.rb', line 40

def em_sigterm
  stop!
end

#ws_close(ws, why) ⇒ Object



17
18
19
20
21
# File 'lib/palava_machine/server/core_events.rb', line 17

def ws_close(ws, why)
  ws_close_unannounce(ws)
rescue MessageError => e
  warn "*** Error while closing connection *** #{e.class} ***\n" + (e.message || "") + "\n  " + e.backtrace*"\n  "
end

#ws_error(ws, e) ⇒ Object



23
24
25
26
# File 'lib/palava_machine/server/core_events.rb', line 23

def ws_error(ws, e)
  warn "*** Socket Error *** #{e.class} ***\n" + (e.message || "") + "\n  " + (e.backtrace ? e.backtrace*"\n  " : "")
  ws.close 4242
end

#ws_message(ws, message) ⇒ Object



11
12
13
14
15
# File 'lib/palava_machine/server/core_events.rb', line 11

def ws_message(ws, message)
  ws_message_action(ws, ws_message_parse(ws, message))
rescue MessageParsingError, MessageError => e
  send_error(ws, e)
end

#ws_open(ws, _) ⇒ Object



4
5
6
7
8
9
# File 'lib/palava_machine/server/core_events.rb', line 4

def ws_open(ws, _)
  ws_open_announce(ws)
rescue MessageError => e
  send_error(ws, e)
  ws.close 4242
end