NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
Loading...
Searching...
No Matches
blocking.h
Go to the documentation of this file.
1
5#pragma once
6
7#include <neograph/api.h>
9
10#include <stdexcept>
11#include <string>
12
13namespace neograph::program {
14
20class NEOGRAPH_PROGRAM_API ProgramExecutorRequired final : public std::runtime_error,
22public:
24};
25
36class NEOGRAPH_PROGRAM_API ProgramBlockingCallRefused final : public std::runtime_error,
38public:
39 ProgramBlockingCallRefused(std::string operation, std::string alternative, std::string reason);
41 const std::string& operation() const noexcept { return operation_; }
43 const std::string& alternative() const noexcept { return alternative_; }
44
45private:
46 std::string operation_;
47 std::string alternative_;
48};
49
50} // namespace neograph::program
NEOGRAPH_API export/import macro for shared-library builds.
Marks an exception type as a configuration or definition verdict.
Thrown by a synchronous call that would wait for a Program on a thread that cannot wait for it: the e...
Definition blocking.h:37
const std::string & operation() const noexcept
The refused call, for example "ProgramRuntime::start".
Definition blocking.h:41
const std::string & alternative() const noexcept
The awaitable form that does the same without blocking, for example "ProgramRuntime::start_async".
Definition blocking.h:43
Thrown by the ProgramRuntime constructor in a build without threads (NEOGRAPH_THREADS=OFF) when Runti...
Definition blocking.h:21
Marker for exceptions that are configuration or definition verdicts (#364).