// Copyright (c) Facebook, Inc. and its affiliates. // All rights reserved. // // This source code is licensed under the BSD-style license found in the // LICENSE file in the root directory of this source tree. #pragma once #include #include namespace c10d { class TORCH_API C10dError : public std::runtime_error { public: using std::runtime_error::runtime_error; C10dError(const C10dError&) = default; C10dError& operator=(const C10dError&) = default; C10dError(C10dError&&) = default; C10dError& operator=(C10dError&&) = default; ~C10dError() override; }; class TORCH_API TimeoutError : public C10dError { public: using C10dError::C10dError; TimeoutError(const TimeoutError&) = default; TimeoutError& operator=(const TimeoutError&) = default; TimeoutError(TimeoutError&&) = default; TimeoutError& operator=(TimeoutError&&) = default; ~TimeoutError() override; }; } // namespace c10d