code: def _on_recv_complete(self, handle, addr, flags, data, error):
          
          assert handle is self._handle
          if error:
              self._log.warning('pyuv error {} in recv callback', error)
              self._protocol.error_received(TransportError.from_errno(error))
          elif flags:
              assert flags & pyuv.UV_UDP_PARTIAL
              self._log.warning('ignoring partial datagram')
          elif data:
              self._protocol.datagram_received(data, addr)
docs: Callback used with handle.start_recv().