Module: Warden::Protocol::Message::Type

Defined in:
lib/warden/protocol/pb.rb,
lib/warden/protocol/message.rb

Constant Summary collapse

Error =
1
Create =
11
Stop =
12
Destroy =
13
Info =
14
Spawn =
21
22
Run =
23
Stream =
24
NetIn =
31
NetOut =
32
CopyIn =
41
CopyOut =
42
LimitMemory =
51
LimitDisk =
52
LimitBandwidth =
53
Ping =
91
List =
92
Echo =
93

Class Method Summary collapse

Class Method Details

.generate_klass_map(suffix) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/warden/protocol/message.rb', line 9

def self.generate_klass_map(suffix)
  map = Hash[self.constants.map do |name|
    klass_name = "#{name}#{suffix}"
    if Protocol.const_defined?(klass_name)
      [const_get(name), Protocol.const_get(klass_name)]
    end
  end]

  if map.respond_to?(:default_proc=)
    map.default_proc = lambda do |h, k|
      raise "Unknown request type: #{k}"
    end
  end

  map
end

.to_request_klass(type) ⇒ Object



26
27
28
29
# File 'lib/warden/protocol/message.rb', line 26

def self.to_request_klass(type)
  @request_klass_map ||= generate_klass_map("Request")
  @request_klass_map[type]
end

.to_response_klass(type) ⇒ Object



31
32
33
34
# File 'lib/warden/protocol/message.rb', line 31

def self.to_response_klass(type)
  @response_klass_map ||= generate_klass_map("Response")
  @response_klass_map[type]
end