Ravn::BDE::

GatewayManager class

Public Instance Methods

filter_up( message )

Reflect messages coming up the tree back down.

# File lib/ravn/bde/gateway_manager.rb, line 40
def filter_up( message )
        message.audit {}
        self.filter_down( message )
        super
end
propagate_message( message )

Overridden – Propagate a message to each of the actor’s children except the sender.

# File lib/ravn/bde/gateway_manager.rb, line 49
def propagate_message( message )
        if self.running_as_actor?
                sending_child = self.envelope.sender
                self.children.filter {|child| child != sending_child }.
                        each {|child| child.tell(message) }
        end
end
start()

Start the GatewayManager actor.

# File lib/ravn/bde/gateway_manager.rb, line 20
def start
        state_manager = Ravn::Actor[ :state_manager ] or
                raise "Unable to get a state manager reference."

        self.log.info "Starting %d gateways" % [ Ravn::Net.gateways.length ]
        Ravn::Net.gateways.each do |gateway_type|
                self.log.info "Starting %p" % [ gateway_type ]
                state_future = state_manager.ask( get_proxy: "#{gateway_type}_gateway" )

                self.log.debug "  state future is: %p" % [ state_future ]
                gateway_class = Ravn::Net::Gateway.get_subclass( gateway_type )
                gateway_class.spawn!( gateway_type.to_sym, state_future )
        end
        self.log.debug "Done with gateway startup."

        super
end