Example #1
0
 async def sum_request(self, message):
     r = sum(message.numbers)
     if r < -0x80000000 or r > 0x7fffffff:
         return d.message_error(err_type=d.PARAMETER_ERROR,
                                details=b'Sum is out of range')
     else:
         return d.message10_sum_reply(result=r)
Example #2
0
 def process_routine(event):
     try:
         conn = event.connection
         msg = event.message
         #_logger.debug('Request received: %r' % (dump(msg),))
         try:
             for m in func(self, msg):
                 yield m
             reply = self.retvalue
             # Precheck if there are any serialization problems
             reply._tobytes()
             #_logger.debug('Send reply: %r' % (dump(reply),))
         except Exception as exc:
             _logger.warning('Request process failed:',
                             exc_info=True)
             for m in conn.protocol.reply_to(
                     conn,
                     d.message_error(
                         err_type=d.RUNTIME_ERROR,
                         details=str(exc).encode('utf-8')), msg,
                     self):
                 yield m
         else:
             for m in conn.protocol.reply_to(
                     conn, reply, msg, self):
                 yield m
     except (IOError, ConnectionResetException):
         pass
     except Exception:
         _logger.warning('Unexpected error:', exc_info=True)
Example #3
0
 async def process_routine(event):
     try:
         conn = event.connection
         msg = event.message
         _logger.debug('Request received: %r' % (dump(msg),))
         try:
             reply = await func(self, msg)
             await conn.protocol.reply_to(conn,
                                          reply,
                                          msg,
                                          self)
             _logger.debug('Send reply: %r' % (dump(reply),))
         except (IOError, ConnectionResetException):
             pass
         except Exception as exc:
             _logger.warning('Request process failed:', exc_info=True)
             await conn.protocol.reply_to(conn,
                                          d.message_error(
                                              err_type=d.RUNTIME_ERROR,
                                              details=str(exc).encode('utf-8')
                                          ),
                                          msg,
                                          self)
     except (IOError, ConnectionResetException):
         pass
     except Exception:
         _logger.warning('Unexpected error:', exc_info=True)
Example #4
0
 def process_routine(event):
     try:
         conn = event.connection
         msg = event.message
         # _logger.debug('Request received: %r' % (dump(msg),))
         try:
             for m in func(self, msg):
                 yield m
             reply = self.retvalue
             # Precheck if there are any serialization problems
             reply._tobytes()
             # _logger.debug('Send reply: %r' % (dump(reply),))
         except Exception as exc:
             _logger.warning("Request process failed:", exc_info=True)
             for m in conn.protocol.reply_to(
                 conn, d.message_error(err_type=d.RUNTIME_ERROR, details=str(exc).encode("utf-8")), msg, self
             ):
                 yield m
         else:
             for m in conn.protocol.reply_to(conn, reply, msg, self):
                 yield m
     except (IOError, ConnectionResetException):
         pass
     except Exception:
         _logger.warning("Unexpected error:", exc_info=True)
Example #5
0
 def sum_request(self, message):
     r = sum(message.numbers)
     if r < -0x80000000 or r > 0x7FFFFFFF:
         self.retvalue = d.message_error(err_type=d.PARAMETER_ERROR, details=b"Sum is out of range")
     else:
         self.retvalue = d.message10_sum_reply(result=r)
     if False:
         yield
Example #6
0
 async def default_error(self, message):
     return d.message_error(err_type=d.UNSUPPORTED_REQUEST,
                            details=b'Unsupported request type: %d' %
                            (message.type, ))
Example #7
0
 def default_error(self, message):
     self.retvalue = d.message_error(
         err_type=d.UNSUPPORTED_REQUEST,
         details=b'Unsupported request type: %d' % (message.type, ))
     if False:
         yield
Example #8
0
 def default_error(self, message):
     self.retvalue = d.message_error(
         err_type=d.UNSUPPORTED_REQUEST, details=b"Unsupported request type: %d" % (message.type,)
     )
     if False:
         yield