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