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

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

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) 
)
inline

◆ 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) 
)
inline

◆ DriverRef()

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

◆ 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))
inline

◆ StopHard()

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

◆ 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) 
)
inline