Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::TransferOperation Class Reference

#include <transfer.h>

Inheritance diagram for Realm::TransferOperation:
Collaboration diagram for Realm::TransferOperation:

Classes

class  DeferredStart
 
class  XDLifetimeTracker
 

Public Member Functions

 TransferOperation (TransferDesc &_desc, Event _precondition, GenEventImpl *_finish_event, EventImpl::gen_t _finish_gen, int priority)
 
 ~TransferOperation ()
 
virtual void print (std::ostream &os) const
 
void start_or_defer (void)
 
virtual bool mark_ready (void)
 
virtual bool mark_started (void)
 
void allocate_ibs ()
 
void create_xds ()
 
void notify_ib_allocation (unsigned ib_index, off_t ib_offset)
 
void notify_ib_allocations (unsigned count, unsigned first_index, const off_t *offsets)
 
void notify_xd_completion (XferDesID xd_id)
 
- Public Member Functions inherited from Realm::Operation
void add_reference (void)
 
void remove_reference (void)
 
virtual void mark_finished (bool successful)
 
virtual void mark_terminated (int error_code, const ByteArray &details)
 
virtual bool attempt_cancellation (int error_code, const void *reason_data, size_t reason_size)
 
virtual void set_priority (int new_priority)
 
virtual void handle_poisoned_precondition (Event pre)
 
bool cancellation_requested (void) const
 
void add_async_work_item (AsyncWorkItem *item)
 
ProfilingMeasurements::OperationEventWaits::WaitIntervalcreate_wait_interval (Event e)
 
bool wants_gpu_work_start () const
 
void mark_gpu_work_start ()
 
void add_gpu_work_start (uint64_t timestamp)
 
void add_gpu_work_end (uint64_t timestamp)
 
Event get_finish_event (void) const
 
void add_finish_event_precondition (Event precondition)
 

Protected Member Functions

virtual void mark_completed (void)
 
- Protected Member Functions inherited from Realm::Operation
 Operation (GenEventImpl *_finish_event, EventImpl::gen_t _finish_gen, const ProfilingRequestSet &_requests)
 
virtual ~Operation (void)
 
void work_item_finished (AsyncWorkItem *item, bool successful)
 
void clear_profiling (void)
 
void reconstruct_measurements ()
 
void trigger_finish_event (bool poisoned)
 
void send_profiling_data (void)
 
virtual Status::Result get_state (void)
 

Protected Attributes

DeferredStart deferred_start
 
TransferDescdesc
 
Event precondition
 
std::vector< XferDesIDxd_ids
 
std::vector< XDLifetimeTracker * > xd_trackers
 
std::vector< off_t > ib_offsets
 
atomic< unsigned > ib_responses_needed
 
int priority
 
- Protected Attributes inherited from Realm::Operation
GenEventImplfinish_event
 
EventImpl::gen_t finish_gen
 
atomic< int > refcount
 
atomic< Status::Resultstate
 
ProfilingMeasurements::OperationStatus status
 
bool wants_timeline
 
ProfilingMeasurements::OperationTimeline timeline
 
bool wants_gpu_timeline
 
ProfilingMeasurements::OperationTimelineGPU timeline_gpu
 
bool wants_event_waits
 
ProfilingMeasurements::OperationEventWaits waits
 
ProfilingRequestSet requests
 
ProfilingMeasurementCollection measurements
 
atomic< AsyncWorkItem * > all_work_items
 
atomic< int > pending_work_items
 
atomic< int > failed_work_items
 

Additional Inherited Members

- Protected Types inherited from Realm::Operation
typedef ProfilingMeasurements::OperationStatus Status
 

Constructor & Destructor Documentation

◆ TransferOperation()

Realm::TransferOperation::TransferOperation ( TransferDesc _desc,
Event  _precondition,
GenEventImpl _finish_event,
EventImpl::gen_t  _finish_gen,
int  priority 
)

◆ ~TransferOperation()

Realm::TransferOperation::~TransferOperation ( )

Member Function Documentation

◆ allocate_ibs()

void Realm::TransferOperation::allocate_ibs ( )

◆ create_xds()

void Realm::TransferOperation::create_xds ( )

◆ mark_completed()

virtual void Realm::TransferOperation::mark_completed ( void  )
protectedvirtual

Reimplemented from Realm::Operation.

◆ mark_ready()

virtual bool Realm::TransferOperation::mark_ready ( void  )
virtual

Reimplemented from Realm::Operation.

◆ mark_started()

virtual bool Realm::TransferOperation::mark_started ( void  )
virtual

Reimplemented from Realm::Operation.

◆ notify_ib_allocation()

void Realm::TransferOperation::notify_ib_allocation ( unsigned  ib_index,
off_t  ib_offset 
)

◆ notify_ib_allocations()

void Realm::TransferOperation::notify_ib_allocations ( unsigned  count,
unsigned  first_index,
const off_t *  offsets 
)

◆ notify_xd_completion()

void Realm::TransferOperation::notify_xd_completion ( XferDesID  xd_id)

◆ print()

virtual void Realm::TransferOperation::print ( std::ostream &  os) const
virtual

Implements Realm::Operation.

◆ start_or_defer()

void Realm::TransferOperation::start_or_defer ( void  )

Member Data Documentation

◆ deferred_start

DeferredStart Realm::TransferOperation::deferred_start
protected

◆ desc

TransferDesc& Realm::TransferOperation::desc
protected

◆ ib_offsets

std::vector<off_t> Realm::TransferOperation::ib_offsets
protected

◆ ib_responses_needed

atomic<unsigned> Realm::TransferOperation::ib_responses_needed
protected

◆ precondition

Event Realm::TransferOperation::precondition
protected

◆ priority

int Realm::TransferOperation::priority
protected

◆ xd_ids

std::vector<XferDesID> Realm::TransferOperation::xd_ids
protected

◆ xd_trackers

std::vector<XDLifetimeTracker *> Realm::TransferOperation::xd_trackers
protected

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