Method: LS4::GatewayService#rpc_add_impl

Defined in:
lib/ls4/service/gateway.rb

#rpc_add_impl(vname, key, data, attrs) ⇒ Object



208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
# File 'lib/ls4/service/gateway.rb', line 208

def rpc_add_impl(vname, key, data, attrs)
  ar = MessagePack::RPC::AsyncResult.new
  CachedMDSBus.add(key, attrs, vname) {|okey,error|
    if error
      $log.warn("failed to set a key or attributes to MDS: key=#{key.inspect}: #{error}")
      $log.debug_backtrace error.backtrace if error.is_a?(Exception)
      ar.error(error.to_s)
    else
      DataClientBus.set(okey, data) {|_,error|
        if error
          ar.error(error.to_s)
        else
          ar.result(okey)
        end
      }
    end
  }
  ar
end