def _handle_layer_error(error, layer):
if isinstance(error, gen.TimeoutError):
logger.warn("{0} timeout".format(layer))
layer.src_stream.close()
elif isinstance(error, DestNotConnectedError):
logger.warn("{0} destination not connected".format(layer))
elif isinstance(error, DestStreamClosedError):
logger.error("{0} failed with {1}".format(layer, error))
layer.src_stream.close()
elif isinstance(error, SrcStreamClosedError):
logger.error("{0} failed with {1}".format(layer, error))
elif isinstance(error, iostream.StreamClosedError):
# NOTE: unhandled StreamClosedError, print stack to find out where
logger.exception("{0} failed with {1}".format(layer, error))
layer.src_stream.close()
elif isinstance(error, TlsError):
logger.error(error)
layer.src_stream.close()
else:
logger.exception("{0} unhandled exception {1}".format(layer, error))
layer.src_stream.close()
评论列表
文章目录