Services
The services module implements the RPC service layer for remote computation and the local in-process server.
Overview
FusionSC has first-class support for remote execution. Calculation and data handling requests can be delegated to a remote instance. The connection is established through a fast asynchronous RPC protocol based on HTTP and WebSocket, built on Cap’n’Proto.
API Reference
-
namespace fsc
The FSC library.
Simple interface module for ZLib
-
namespace fsc
The FSC library.
Simple interface module for ZLib
Functions
-
inline Library newLibrary(StartupParameters params = StartupParameters())
-
inline ThreadContext &getActiveThread()
-
inline bool hasActiveThread()
-
struct LibraryHandle : public kj::AtomicRefcounted
“Global” libary handle. This class serves as the dependency injection context for objects that should be shared across all threads. Currently, this is only the local data store table and a shared daemon runner.
Public Functions
-
LibraryHandle(StartupParameters params = StartupParameters())
-
~LibraryHandle()
-
inline kj::Own<const LibraryHandle> addRef() const
-
const kj::Executor &worker() const
-
inline LibraryThread newThread(Maybe<kj::EventPort&> eventPort = nullptr) const
-
std::unique_ptr<Botan::HashFunction> defaultHash() const
Private Functions
-
void runSteward()
Executes the steward thread.
Private Static Functions
-
static DataStore createStoreFromSettings(StartupParameters ¶ms)
-
LibraryHandle(StartupParameters params = StartupParameters())
-
struct NullErrorHandler : public kj::TaskSet::ErrorHandler
-
Public Static Attributes
-
static NullErrorHandler instance
-
static NullErrorHandler instance
-
struct StartupParameters
-
struct ThreadContext
Subclassed by fsc::WorkerContext
Public Functions
-
~ThreadContext()
-
inline LocalDataService &dataService()
-
inline StreamConverter &streamConverter()
-
Promise<void> uncancelable(Promise<void> p)
-
void detach(Promise<void> p)
-
Promise<void> drain()
Private Functions
-
OneOf<kj::AsyncIoContext, CustomEventPort> makeAsyncInfrastructure(Maybe<kj::EventPort&> port)
Private Members
-
OneOf<kj::AsyncIoContext, CustomEventPort> asyncInfrastructure
-
Own<StreamConverter> _streamConverter
-
Own<LocalDataService> _dataService
Private Static Attributes
-
static thread_local ThreadContext *current = nullptr
-
struct CustomEventPort
-
~ThreadContext()
-
struct WorkerContext : public fsc::ThreadContext
Thread context that cancels all long-running tasks.
-
inline Library newLibrary(StartupParameters params = StartupParameters())
-
namespace fsc
The FSC library.
Simple interface module for ZLib
-
struct InProcessServer
Public Functions
-
virtual LocalVatHub getHub() const = 0
-
virtual Own<const InProcessServer> addRef() const = 0
-
inline capnp::Capability::Client connectBase() const
-
virtual LocalVatHub getHub() const = 0
-
struct InProcessServer
-
namespace fsc
The FSC library.
Simple interface module for ZLib