Sha256: 91bb29915ef56839013853f830d52c3b27de49bf01c667612305909e69fa0ceb
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
require 'drb' require 'phut' # OpenFlow controller programming framework. module Trema def self.trema_process(controller_name, socket_dir) Phut.socket_dir = socket_dir socket_path = File.join(Phut.socket_dir, "#{controller_name}.ctl") unless FileTest.socket?(socket_path) raise %(Controller process "#{controller_name}" does not exist.) end DRbObject.new_with_uri('drbunix:' + socket_path) end def self.trema_processes(socket_dir = Phut.socket_dir) Phut.socket_dir = socket_dir all = Dir.glob(File.join(Phut.socket_dir, '*.ctl')) vhosts = Dir.glob(File.join(Phut.socket_dir, 'vhost.*.ctl')) (all - vhosts).map { |each| DRbObject.new_with_uri("drbunix:#{each}") } end def self.vhosts(socket_dir = Phut.socket_dir) Phut.socket_dir = socket_dir vhosts = Dir.glob(File.join(Phut.socket_dir, 'vhost.*.ctl')) vhosts.map { |each| DRbObject.new_with_uri("drbunix:#{each}") } end def self.fetch(name, socket_dir) trema_processes(socket_dir).each do |trema| begin return trema.fetch(name) rescue next end end raise %("#{name}" does not exist.) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
trema-0.10.1 | lib/trema/drb.rb |
trema-0.10.0 | lib/trema/drb.rb |