Class: Msf::Aggregator::Router

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/msf/aggregator/router.rb

Instance Method Summary collapse

Constructor Details

#initializeRouter



8
9
10
11
# File 'lib/msf/aggregator/router.rb', line 8

def initialize
  @mutex = Mutex.new
  @forward_routes = {}
end

Instance Method Details

#add_route(rhost, rport, payload) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/msf/aggregator/router.rb', line 13

def add_route(rhost, rport, payload)
  forward = [rhost, rport]
  @mutex.synchronize do
    if payload.nil?
      @forward_routes['default'] = forward
      return
    end
    @forward_routes[payload] = forward
  end
end

#get_forward(uri) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/msf/aggregator/router.rb', line 32

def get_forward(uri)
  unless @forward_routes[uri].nil?
    @forward_routes[uri]
  else
    @forward_routes['default']
  end
end

#remove_route(payload) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/msf/aggregator/router.rb', line 24

def remove_route(payload)
  unless payload.nil?
    @mutex.synchronize do
      @forward_routes.delete(payload)
    end
  end
end