Class: PalavaMachine::Server
- Inherits:
-
Object
- Object
- PalavaMachine::Server
show all
- Defined in:
- lib/palava_machine/server.rb,
lib/palava_machine/server/core_events.rb,
lib/palava_machine/server/server_info.rb,
lib/palava_machine/server/core_support.rb,
lib/palava_machine/server/verify_handshake.rb
Defined Under Namespace
Modules: CoreEvents, CoreSupport, ServerInfo, VerifyHandshake
Classes: HandshakeError
Constant Summary
collapse
- DEFAULT_FEATURES =
[
CoreSupport,
CoreEvents,
ServerInfo,
]
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(given_manager, given_options) ⇒ Server
Returns a new instance of Server.
33
34
35
36
37
|
# File 'lib/palava_machine/server.rb', line 33
def initialize(given_manager, given_options)
include_features(given_options.delete(:features))
@manager = given_manager
@options = given_options
end
|
Instance Attribute Details
#features ⇒ Object
Returns the value of attribute features.
22
23
24
|
# File 'lib/palava_machine/server.rb', line 22
def features
@features
end
|
#manager ⇒ Object
Returns the value of attribute manager.
22
23
24
|
# File 'lib/palava_machine/server.rb', line 22
def manager
@manager
end
|
#options ⇒ Object
Returns the value of attribute options.
22
23
24
|
# File 'lib/palava_machine/server.rb', line 22
def options
@options
end
|
Instance Method Details
#em_error(e) ⇒ Object
29
|
# File 'lib/palava_machine/server.rb', line 29
def em_error(e) end
|
#em_init ⇒ Object
28
|
# File 'lib/palava_machine/server.rb', line 28
def em_init() end
|
#em_sigint ⇒ Object
31
|
# File 'lib/palava_machine/server.rb', line 31
def em_sigint() end
|
#em_sigterm ⇒ Object
30
|
# File 'lib/palava_machine/server.rb', line 30
def em_sigterm() end
|
#run ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/palava_machine/server.rb', line 39
def run
EM.run{
em_init
trap(:TERM){ em_sigterm }
trap(:INT){ em_sigint }
EM::WebSocket.run(options){ |ws|
ws.onopen{ |handshake| ws_open(ws, handshake) }
ws.onmessage{ |message| ws_message(ws, message) }
ws.onclose{ |why| ws_close(ws, why) }
ws.onerror{ |error| ws_error(ws, error) }
EM.error_handler{ |e| em_error(e) }
}
}
end
|
#ws_close(ws, close) ⇒ Object
27
|
# File 'lib/palava_machine/server.rb', line 27
def ws_close(ws, close) end
|
#ws_error(ws, error) ⇒ Object
26
|
# File 'lib/palava_machine/server.rb', line 26
def ws_error(ws, error) end
|
#ws_message(ws, message) ⇒ Object
25
|
# File 'lib/palava_machine/server.rb', line 25
def ws_message(ws, message) end
|
#ws_open(ws, handshake) ⇒ Object
24
|
# File 'lib/palava_machine/server.rb', line 24
def ws_open(ws, handshake) end
|