Class: MurmurIce::Meta
- Inherits:
-
Object
- Object
- MurmurIce::Meta
- Defined in:
- lib/murmur-ice.rb
Instance Method Summary collapse
-
#create_server! ⇒ Object
Create a new virtual server.
-
#destroy_server!(id) ⇒ Object
Destroy a virtual server.
-
#get_server(id) ⇒ Object
Initialize a virtual server.
-
#get_uptime ⇒ Object
Return murmur uptime.
-
#get_version ⇒ Object
Return murmur version.
-
#initialize(options = {}) ⇒ Meta
constructor
A new instance of Meta.
-
#list_servers(only_running = false) ⇒ Object
Return virtual servers.
-
#validate_host(host, port) ⇒ Object
Check if the host is running Ice.
Constructor Details
#initialize(options = {}) ⇒ Meta
Returns a new instance of Meta.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/murmur-ice.rb', line 9 def initialize( = {}) host = [:host] || "127.0.0.1" port = [:port] || 6502 ice_secret = [:ice_secret] || nil unless ice_secret.nil? props = Ice::createProperties props.setProperty "Ice.ImplicitContext", "Shared" idd = Ice::InitializationData.new idd.properties = props ic = Ice::initialize idd ic.getImplicitContext.put("secret", ice_secret) else raise MurmurIce::IceSecretException end validate_host(host, port) @meta = Murmur::MetaPrx::checkedCast(ic.stringToProxy("Meta: tcp -h #{host} -p #{port}")) end |
Instance Method Details
#create_server! ⇒ Object
Create a new virtual server
82 83 84 85 |
# File 'lib/murmur-ice.rb', line 82 def create_server! server = @meta.newServer return Server.new(self, @meta, nil, server) end |
#destroy_server!(id) ⇒ Object
Destroy a virtual server
90 91 92 93 94 |
# File 'lib/murmur-ice.rb', line 90 def destroy_server!(id) server = Server.new(self, @meta, id) server.stop if server.is_running? puts server.interface.delete end |
#get_server(id) ⇒ Object
Initialize a virtual server
75 76 77 |
# File 'lib/murmur-ice.rb', line 75 def get_server(id) Server.new(self, @meta, id) end |
#get_uptime ⇒ Object
Return murmur uptime
58 59 60 |
# File 'lib/murmur-ice.rb', line 58 def get_uptime return @meta.getUptime end |
#get_version ⇒ Object
Return murmur version
51 52 53 |
# File 'lib/murmur-ice.rb', line 51 def get_version return @meta.getVersion end |
#list_servers(only_running = false) ⇒ Object
Return virtual servers
65 66 67 68 69 70 |
# File 'lib/murmur-ice.rb', line 65 def list_servers(only_running=false) method = only_running ? :getBootedServers : :getAllServers @meta.send(method).collect do |server| Server.new(self, @meta, nil, server) end end |
#validate_host(host, port) ⇒ Object
Check if the host is running Ice.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/murmur-ice.rb', line 33 def validate_host(host,port) begin Timeout::timeout(2) do begin s = TCPSocket.new(host,port) s.close rescue raise MurmurIce::InvalidMetaException end end rescue Timeout::Error raise MurmurIce::InvalidMetaException end end |