MOTION  0.01
Framework for mixed-protocol multi-party computation
Public Member Functions | Static Public Member Functions | List of all members
pooled_work_stealing Class Reference

#include <pooled_work_stealing.hpp>

Inheritance diagram for pooled_work_stealing:
Inheritance graph
[legend]
Collaboration diagram for pooled_work_stealing:
Collaboration graph
[legend]

Public Member Functions

 pooled_work_stealing (std::shared_ptr< pool_ctx >)
 
 ~pooled_work_stealing ()
 
 pooled_work_stealing (pooled_work_stealing const &)=delete
 
 pooled_work_stealing (pooled_work_stealing &&)=delete
 
pooled_work_stealingoperator= (pooled_work_stealing const &)=delete
 
pooled_work_stealingoperator= (pooled_work_stealing &&)=delete
 
virtual void awakened (boost::fibers::context *) noexcept
 
virtual boost::fibers::context * pick_next () noexcept
 
virtual boost::fibers::context * steal () noexcept
 
virtual bool has_ready_fibers () const noexcept
 
virtual void suspend_until (std::chrono::steady_clock::time_point const &) noexcept
 
virtual void notify () noexcept
 

Static Public Member Functions

static std::shared_ptr< pool_ctxcreate_pool_ctx (std::uint32_t, bool=false)
 

Constructor & Destructor Documentation

◆ pooled_work_stealing() [1/3]

pooled_work_stealing::pooled_work_stealing ( std::shared_ptr< pool_ctx pool_ctx)

◆ ~pooled_work_stealing()

pooled_work_stealing::~pooled_work_stealing ( )

◆ pooled_work_stealing() [2/3]

pooled_work_stealing::pooled_work_stealing ( pooled_work_stealing const &  )
delete

◆ pooled_work_stealing() [3/3]

pooled_work_stealing::pooled_work_stealing ( pooled_work_stealing &&  )
delete

Member Function Documentation

◆ awakened()

void pooled_work_stealing::awakened ( boost::fibers::context *  ctx)
virtualnoexcept

◆ create_pool_ctx()

std::shared_ptr< pool_ctx > pooled_work_stealing::create_pool_ctx ( std::uint32_t  thread_count,
bool  suspend = false 
)
static

◆ has_ready_fibers()

virtual bool pooled_work_stealing::has_ready_fibers ( ) const
inlinevirtualnoexcept

◆ notify()

void pooled_work_stealing::notify ( )
virtualnoexcept

◆ operator=() [1/2]

pooled_work_stealing& pooled_work_stealing::operator= ( pooled_work_stealing &&  )
delete

◆ operator=() [2/2]

pooled_work_stealing& pooled_work_stealing::operator= ( pooled_work_stealing const &  )
delete

◆ pick_next()

boost::fibers::context * pooled_work_stealing::pick_next ( )
virtualnoexcept

◆ steal()

virtual boost::fibers::context* pooled_work_stealing::steal ( )
inlinevirtualnoexcept

◆ suspend_until()

void pooled_work_stealing::suspend_until ( std::chrono::steady_clock::time_point const &  time_point)
virtualnoexcept

The documentation for this class was generated from the following files: