Class: Trema::DSL::Syntax
- Inherits:
-
Object
- Object
- Trema::DSL::Syntax
- Defined in:
- ruby/trema/dsl/syntax.rb
Instance Method Summary collapse
- #custom_switch(name = nil, &block) ⇒ Object
- #event(rule) ⇒ Object
- #filter(rule) ⇒ Object
-
#initialize(config) ⇒ Syntax
constructor
A new instance of Syntax.
- #link(peer0, peer1) ⇒ Object
- #netns(name, &block) ⇒ Object
- #port(number) ⇒ Object
- #rswitch(name = nil, &block) ⇒ Object
- #run(name = nil, &block) ⇒ Object
- #switch(name = nil, &block) ⇒ Object
- #vhost(name = nil, &block) ⇒ Object
- #vswitch(name = nil, &block) ⇒ Object
Constructor Details
#initialize(config) ⇒ Syntax
Returns a new instance of Syntax.
45 46 47 |
# File 'ruby/trema/dsl/syntax.rb', line 45 def initialize config @config = config end |
Instance Method Details
#custom_switch(name = nil, &block) ⇒ Object
82 83 84 85 86 |
# File 'ruby/trema/dsl/syntax.rb', line 82 def custom_switch name = nil, &block stanza = Trema::DSL::CustomSwitch.new( name ) stanza.instance_eval( &block ) Trema::CustomSwitch.new stanza end |
#event(rule) ⇒ Object
108 109 110 |
# File 'ruby/trema/dsl/syntax.rb', line 108 def event rule Trema::SwitchManager.new( rule, @config.port ) end |
#filter(rule) ⇒ Object
103 104 105 |
# File 'ruby/trema/dsl/syntax.rb', line 103 def filter rule Trema::PacketinFilter.new( rule ) end |
#link(peer0, peer1) ⇒ Object
55 56 57 58 |
# File 'ruby/trema/dsl/syntax.rb', line 55 def link peer0, peer1 stanza = Trema::DSL::Link.new( peer0, peer1 ) Trema::Link.new( stanza ) end |
#netns(name, &block) ⇒ Object
96 97 98 99 100 |
# File 'ruby/trema/dsl/syntax.rb', line 96 def netns name, &block stanza = Trema::DSL::Netns.new( name ) stanza.instance_eval( &block ) if block Trema::Netns.new( stanza ) end |
#port(number) ⇒ Object
50 51 52 |
# File 'ruby/trema/dsl/syntax.rb', line 50 def port number @config.port = number end |
#rswitch(name = nil, &block) ⇒ Object
75 76 77 78 79 |
# File 'ruby/trema/dsl/syntax.rb', line 75 def rswitch name = nil, &block stanza = Trema::DSL::Rswitch.new( name ) stanza.instance_eval( &block ) Trema::RubySwitch.new( stanza ) end |
#run(name = nil, &block) ⇒ Object
113 114 115 116 117 |
# File 'ruby/trema/dsl/syntax.rb', line 113 def run name = nil, &block stanza = Trema::DSL::Run.new( name ) stanza.instance_eval( &block ) Trema::App.new( stanza ) end |
#switch(name = nil, &block) ⇒ Object
61 62 63 64 65 |
# File 'ruby/trema/dsl/syntax.rb', line 61 def switch name = nil, &block stanza = Trema::DSL::Switch.new( name ) stanza.instance_eval( &block ) Trema::HardwareSwitch.new( stanza ) end |