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

#include <transfer.h>

Inheritance diagram for Realm::TransferIterator:

Classes

struct  AddressInfo
 
class  AddressInfoCustom
 

Public Types

enum  {
  SRC_PARTIAL_OK = (1 << 0) , SRC_LINES_OK = (1 << 1) , SRC_PLANES_OK = (1 << 2) , SRC_FLAGMASK = 0xff ,
  DST_PARTIAL_OK = (1 << 8) , DST_LINES_OK = (1 << 9) , DST_PLANES_OK = (1 << 10) , DST_FLAGMASK = 0xff00 ,
  PARTIAL_OK = SRC_PARTIAL_OK | DST_PARTIAL_OK , LINES_OK = SRC_LINES_OK | DST_LINES_OK , PLANES_OK = SRC_PLANES_OK | DST_PLANES_OK
}
 

Public Member Functions

virtual ~TransferIterator (void)
 
virtual Event request_metadata (void)
 
virtual void set_indirect_input_port (XferDes *xd, int port_idx, TransferIterator *inner_iter)
 
virtual void reset (void)=0
 
virtual bool done (void)=0
 
virtual size_t get_base_offset (void) const
 
virtual size_t get_address_size (void) const
 
virtual size_t step (size_t max_bytes, AddressInfo &info, unsigned flags, bool tentative=false)=0
 
virtual size_t step_custom (size_t max_bytes, AddressInfoCustom &info, bool tentative=false)=0
 
virtual void confirm_step (void)=0
 
virtual void cancel_step (void)=0
 
virtual bool get_addresses (AddressList &addrlist, const InstanceLayoutPieceBase *&nonaffine)=0
 

Static Public Member Functions

template<typename S >
static TransferIteratordeserialize_new (S &deserializer)
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
SRC_PARTIAL_OK 
SRC_LINES_OK 
SRC_PLANES_OK 
SRC_FLAGMASK 
DST_PARTIAL_OK 
DST_LINES_OK 
DST_PLANES_OK 
DST_FLAGMASK 
PARTIAL_OK 
LINES_OK 
PLANES_OK 

Constructor & Destructor Documentation

◆ ~TransferIterator()

virtual Realm::TransferIterator::~TransferIterator ( void  )
virtual

Member Function Documentation

◆ cancel_step()

virtual void Realm::TransferIterator::cancel_step ( void  )
pure virtual

◆ confirm_step()

virtual void Realm::TransferIterator::confirm_step ( void  )
pure virtual

◆ deserialize_new()

template<typename S >
static TransferIterator * Realm::TransferIterator::deserialize_new ( S &  deserializer)
static

◆ done()

virtual bool Realm::TransferIterator::done ( void  )
pure virtual

◆ get_address_size()

virtual size_t Realm::TransferIterator::get_address_size ( void  ) const
virtual

◆ get_addresses()

virtual bool Realm::TransferIterator::get_addresses ( AddressList addrlist,
const InstanceLayoutPieceBase *&  nonaffine 
)
pure virtual

◆ get_base_offset()

virtual size_t Realm::TransferIterator::get_base_offset ( void  ) const
virtual

◆ request_metadata()

virtual Event Realm::TransferIterator::request_metadata ( void  )
virtual

◆ reset()

virtual void Realm::TransferIterator::reset ( void  )
pure virtual

◆ set_indirect_input_port()

virtual void Realm::TransferIterator::set_indirect_input_port ( XferDes xd,
int  port_idx,
TransferIterator inner_iter 
)
virtual

◆ step()

virtual size_t Realm::TransferIterator::step ( size_t  max_bytes,
AddressInfo info,
unsigned  flags,
bool  tentative = false 
)
pure virtual

◆ step_custom()

virtual size_t Realm::TransferIterator::step_custom ( size_t  max_bytes,
AddressInfoCustom info,
bool  tentative = false 
)
pure virtual

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