module Roma::Command::MultiHashCommandReceiver
Public Instance Methods
ev_hashlist(s)
click to toggle source
hashlist
# File lib/roma/command/mh_command_receiver.rb 76 def ev_hashlist(s) 77 send_data("#{@storages.keys.join ' '}\r\n") 78 end
Private Instance Methods
createhash(hname, msg)
click to toggle source
# File lib/roma/command/mh_command_receiver.rb 80 def createhash(hname, msg) 81 if @storages.key?(hname) 82 return "SERVER_ERROR #{hname} already exists." 83 end 84 st = Config::STORAGE_CLASS.new 85 st.storage_path = "#{Config::STORAGE_PATH}/#{@stats.ap_str}/#{hname}" 86 st.vn_list = @rttable.vnodes 87 st.divnum = Config::STORAGE_DIVNUM 88 st.option = Config::STORAGE_OPTION 89 @storages[hname] = st 90 @storages[hname].opendb 91 @log.info("createhash #{hname}") 92 return msg 93 rescue =>e 94 @log.error("#{e} #{$@}") 95 "NOT #{msg}" 96 end
deletehash(hname)
click to toggle source
# File lib/roma/command/mh_command_receiver.rb 99 def deletehash(hname) 100 ret = umounthash(hname) 101 return ret if ret != 'UNMOUNTED' 102 FileUtils.rm_rf "#{Config::STORAGE_PATH}/#{@stats.ap_str}/#{hname}" 103 @log.info("deletehash #{hname}") 104 return "DELETED" 105 rescue =>e 106 @log.error("#{e}") 107 end
umounthash(hname)
click to toggle source
# File lib/roma/command/mh_command_receiver.rb 110 def umounthash(hname) 111 if @defhash == hname 112 return "SERVER_ERROR default hash can't unmount." 113 end 114 unless @storages.key?(hname) 115 return "SERVER_ERROR #{hname} does not exists." 116 end 117 st = @storages[hname] 118 @storages.delete(hname) 119 st.closedb 120 "UNMOUNTED" 121 end