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

Typed async facade exposing named OpenPit engine operations. More...

Public Member Functions

AsyncAccounts< Driver > Accounts () noexcept
 
template<typename Adjustment >
Future< AdjustmentOutcomeApplyAccountAdjustment (::openpit::param::AccountId accountId, std::vector< Adjustment > adjustments, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 
template<typename OrderT , std::enable_if_t< std::is_base_of_v<::openpit::Order, std::decay_t< OrderT >>, int > = 0>
Future< DropCopyOutcome< Driver > > ApplyDropCopy (OrderT &&order, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 
Future< DropCopyOutcome< Driver > > ApplyDropCopy (std::unique_ptr< const ::openpit::Order > order, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 
template<typename ExecutionReportT , std::enable_if_t< std::is_base_of_v<::openpit::ExecutionReport, std::decay_t< ExecutionReportT >>, int > = 0>
Future<::openpit::PostTradeResultApplyExecutionReport (ExecutionReportT &&report, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 
Future<::openpit::PostTradeResultApplyExecutionReport (std::unique_ptr< const ::openpit::ExecutionReport > report, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 
template<typename OrderT , std::enable_if_t< std::is_base_of_v<::openpit::Order, std::decay_t< OrderT >>, int > = 0>
Future< ExecuteOutcome< Driver > > ExecutePreTrade (OrderT &&order, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 
Future< ExecuteOutcome< Driver > > ExecutePreTrade (std::unique_ptr< const ::openpit::Order > order, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 
AsyncEngine< Driver > & Generic () noexcept
 
TypedAsyncEngineoperator= (const TypedAsyncEngine &)=delete
 
TypedAsyncEngineoperator= (TypedAsyncEngine &&)=delete
 
template<typename OrderT , std::enable_if_t< std::is_base_of_v<::openpit::Order, std::decay_t< OrderT >>, int > = 0>
Future< StartOutcome< Driver > > StartPreTrade (OrderT &&order, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 
Future< StartOutcome< Driver > > StartPreTrade (std::unique_ptr< const ::openpit::Order > order, std::chrono::nanoseconds timeout=std::chrono::nanoseconds(0))
 
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))
 
 TypedAsyncEngine (const TypedAsyncEngine &)=delete
 
 TypedAsyncEngine (TypedAsyncEngine &&) noexcept=default
 
 ~TypedAsyncEngine ()=default
 

Detailed Description

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

Typed async facade exposing named OpenPit engine operations.

Constructor & Destructor Documentation

◆ TypedAsyncEngine() [1/2]

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

◆ TypedAsyncEngine() [2/2]

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

◆ ~TypedAsyncEngine()

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

Member Function Documentation

◆ Accounts()

template<typename Driver >
AsyncAccounts<Driver> openpit::asyncengine::TypedAsyncEngine< Driver >::Accounts ( )
inlinenoexcept

◆ ApplyAccountAdjustment()

template<typename Driver >
template<typename Adjustment >
Future<AdjustmentOutcome> openpit::asyncengine::TypedAsyncEngine< Driver >::ApplyAccountAdjustment ( ::openpit::param::AccountId  accountId,
std::vector< Adjustment >  adjustments,
std::chrono::nanoseconds  timeout = std::chrono::nanoseconds(0) 
)
inline

◆ ApplyDropCopy() [1/2]

template<typename Driver >
template<typename OrderT , std::enable_if_t< std::is_base_of_v<::openpit::Order, std::decay_t< OrderT >>, int > = 0>
Future<DropCopyOutcome<Driver> > openpit::asyncengine::TypedAsyncEngine< Driver >::ApplyDropCopy ( OrderT &&  order,
std::chrono::nanoseconds  timeout = std::chrono::nanoseconds(0) 
)
inline

◆ ApplyDropCopy() [2/2]

template<typename Driver >
Future<DropCopyOutcome<Driver> > openpit::asyncengine::TypedAsyncEngine< Driver >::ApplyDropCopy ( std::unique_ptr< const ::openpit::Order order,
std::chrono::nanoseconds  timeout = std::chrono::nanoseconds(0) 
)
inline

◆ ApplyExecutionReport() [1/2]

template<typename Driver >
template<typename ExecutionReportT , std::enable_if_t< std::is_base_of_v<::openpit::ExecutionReport, std::decay_t< ExecutionReportT >>, int > = 0>
Future<::openpit::PostTradeResult> openpit::asyncengine::TypedAsyncEngine< Driver >::ApplyExecutionReport ( ExecutionReportT &&  report,
std::chrono::nanoseconds  timeout = std::chrono::nanoseconds(0) 
)
inline

◆ ApplyExecutionReport() [2/2]

template<typename Driver >
Future<::openpit::PostTradeResult> openpit::asyncengine::TypedAsyncEngine< Driver >::ApplyExecutionReport ( std::unique_ptr< const ::openpit::ExecutionReport report,
std::chrono::nanoseconds  timeout = std::chrono::nanoseconds(0) 
)
inline

◆ ExecutePreTrade() [1/2]

template<typename Driver >
template<typename OrderT , std::enable_if_t< std::is_base_of_v<::openpit::Order, std::decay_t< OrderT >>, int > = 0>
Future<ExecuteOutcome<Driver> > openpit::asyncengine::TypedAsyncEngine< Driver >::ExecutePreTrade ( OrderT &&  order,
std::chrono::nanoseconds  timeout = std::chrono::nanoseconds(0) 
)
inline

◆ ExecutePreTrade() [2/2]

template<typename Driver >
Future<ExecuteOutcome<Driver> > openpit::asyncengine::TypedAsyncEngine< Driver >::ExecutePreTrade ( std::unique_ptr< const ::openpit::Order order,
std::chrono::nanoseconds  timeout = std::chrono::nanoseconds(0) 
)
inline

◆ Generic()

template<typename Driver >
AsyncEngine<Driver>& openpit::asyncengine::TypedAsyncEngine< Driver >::Generic ( )
inlinenoexcept

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ StartPreTrade() [1/2]

template<typename Driver >
template<typename OrderT , std::enable_if_t< std::is_base_of_v<::openpit::Order, std::decay_t< OrderT >>, int > = 0>
Future<StartOutcome<Driver> > openpit::asyncengine::TypedAsyncEngine< Driver >::StartPreTrade ( OrderT &&  order,
std::chrono::nanoseconds  timeout = std::chrono::nanoseconds(0) 
)
inline

◆ StartPreTrade() [2/2]

template<typename Driver >
Future<StartOutcome<Driver> > openpit::asyncengine::TypedAsyncEngine< Driver >::StartPreTrade ( std::unique_ptr< const ::openpit::Order order,
std::chrono::nanoseconds  timeout = std::chrono::nanoseconds(0) 
)
inline

◆ StopGraceful()

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

◆ StopHard()

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

◆ Submit()

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