示例#1
0
 def _service_handle(self, buf):
     service, arg = call.decode_req(buf)
     with self.lock:
         if service in self.service_handlers:
             hanlder = self.service_handlers[service]
         else:
             return call.encode_res_error("service doesn't exist")
     try:
         return call.encode_res(hanlder(arg))
     except ServiceFailed as e:
         return call.encode_res_error(str(e))
示例#2
0
文件: bus.py 项目: cvra/zmqmsgbus
 def _service_handle(self, buf):
     service, arg = call.decode_req(buf)
     with self.lock:
         if service in self.service_handlers:
             hanlder = self.service_handlers[service]
         else:
             return call.encode_res_error("service doesn't exist")
     try:
         return call.encode_res(hanlder(arg))
     except ServiceFailed as e:
         return call.encode_res_error(str(e))
示例#3
0
 def test_decode_res_err(self):
     with self.assertRaises(call.CallFailed):
         call.decode_res(call.encode_res_error('error'))
示例#4
0
 def test_encode_err(self):
     self.assertEqual(msgpack.packb(['err', 'error message']),
                      call.encode_res_error('error message'))
示例#5
0
 def test_decode_res_err(self):
     with self.assertRaises(call.CallFailed):
         call.decode_res(call.encode_res_error('error'))
示例#6
0
 def test_encode_err(self):
     self.assertEqual(msgpack.packb(['err', 'error message']),
                      call.encode_res_error('error message'))