OpenPit C++ SDK
C++17 SDK for the OpenPit pre-trade risk engine
Loading...
Searching...
No Matches
openpit::asyncengine::AsyncEngine< Driver > Class Template Reference

Account-pinned async facade over a synchronous driver object. More...

#include <engine.hpp>

Public Member Functions

 AsyncEngine (AsyncEngine &&) noexcept=default
 AsyncEngine (const AsyncEngine &)=delete
template<typename Op, typename R = std::invoke_result_t<Op, Driver&>>
Future< R > Call (::openpit::param::AccountId accountId, Op op, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
template<typename A, typename B, typename Op>
PairFuture< A, B > Call2 (::openpit::param::AccountId accountId, Op op, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
Driver & DriverRef () const noexcept
AsyncEngineoperator= (AsyncEngine &&) noexcept=default
AsyncEngineoperator= (const AsyncEngine &)=delete
bool StopGraceful (std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
bool StopHard (std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
Future< std::monostate > Submit (::openpit::param::AccountId accountId, std::function< void()> fn, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 ~AsyncEngine ()=default

Detailed Description

template<typename Driver>
class openpit::asyncengine::AsyncEngine< Driver >

Account-pinned async facade over a synchronous driver object.

Constructor & Destructor Documentation

◆ AsyncEngine() [1/2]

template<typename Driver>
openpit::asyncengine::AsyncEngine< Driver >::AsyncEngine ( const AsyncEngine< Driver > & )
delete

◆ AsyncEngine() [2/2]

template<typename Driver>
openpit::asyncengine::AsyncEngine< Driver >::AsyncEngine ( AsyncEngine< Driver > && )
defaultnoexcept

◆ ~AsyncEngine()

template<typename Driver>
openpit::asyncengine::AsyncEngine< Driver >::~AsyncEngine ( )
default

Member Function Documentation

◆ Call()

template<typename Driver>
template<typename Op, typename R = std::invoke_result_t<Op, Driver&>>
Future< R > openpit::asyncengine::AsyncEngine< Driver >::Call ( ::openpit::param::AccountId accountId,
Op op,
std::chrono::nanoseconds timeout = std::chrono::nanoseconds(0) )
inlinenodiscard

◆ Call2()

template<typename Driver>
template<typename A, typename B, typename Op>
PairFuture< A, B > openpit::asyncengine::AsyncEngine< Driver >::Call2 ( ::openpit::param::AccountId accountId,
Op op,
std::chrono::nanoseconds timeout = std::chrono::nanoseconds(0) )
inlinenodiscard

◆ DriverRef()

template<typename Driver>
Driver & openpit::asyncengine::AsyncEngine< Driver >::DriverRef ( ) const
inlinenodiscardnoexcept

◆ operator=() [1/2]

template<typename Driver>
AsyncEngine & openpit::asyncengine::AsyncEngine< Driver >::operator= ( AsyncEngine< Driver > && )
defaultnoexcept

◆ operator=() [2/2]

template<typename Driver>
AsyncEngine & openpit::asyncengine::AsyncEngine< Driver >::operator= ( const AsyncEngine< Driver > & )
delete

◆ StopGraceful()

template<typename Driver>
bool openpit::asyncengine::AsyncEngine< Driver >::StopGraceful ( std::chrono::nanoseconds timeout = std::chrono::nanoseconds(0))
inlinenodiscard

◆ StopHard()

template<typename Driver>
bool openpit::asyncengine::AsyncEngine< Driver >::StopHard ( std::chrono::nanoseconds timeout = std::chrono::nanoseconds(0))
inlinenodiscard

◆ Submit()

template<typename Driver>
Future< std::monostate > openpit::asyncengine::AsyncEngine< Driver >::Submit ( ::openpit::param::AccountId accountId,
std::function< void()> fn,
std::chrono::nanoseconds timeout = std::chrono::nanoseconds(0) )
inlinenodiscard