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

#include <lowlevel_dma.h>

Inheritance diagram for Realm::AsyncFileIOContext:
Collaboration diagram for Realm::AsyncFileIOContext:

Classes

class  AIOOperation
 

Public Member Functions

 AsyncFileIOContext (int _max_depth)
 
 ~AsyncFileIOContext (void)
 
void enqueue_write (int fd, size_t offset, size_t bytes, const void *buffer, Request *req=NULL)
 
void enqueue_read (int fd, size_t offset, size_t bytes, void *buffer, Request *req=NULL)
 
void enqueue_fence (Operation *req)
 
bool empty (void)
 
long available (void)
 
virtual bool do_work (TimeLimit work_until)
 
- Public Member Functions inherited from Realm::BackgroundWorkItem
 BackgroundWorkItem (const std::string &_name)
 
virtual ~BackgroundWorkItem (void)
 
void add_to_manager (BackgroundWorkManager *_manager, int _numa_domain=-1, long long _min_timeslice_needed=-1)
 

Static Public Member Functions

static AsyncFileIOContextget_singleton (void)
 

Protected Member Functions

void make_progress (void)
 
- Protected Member Functions inherited from Realm::BackgroundWorkItem
void make_active (void)
 

Protected Attributes

int max_depth
 
std::deque< AIOOperation * > launched_operations
 
std::deque< AIOOperation * > pending_operations
 
Mutex mutex
 
- Protected Attributes inherited from Realm::BackgroundWorkItem
std::string name
 
BackgroundWorkManagermanager
 
int numa_domain
 
long long min_timeslice_needed
 
unsigned index
 

Constructor & Destructor Documentation

◆ AsyncFileIOContext()

Realm::AsyncFileIOContext::AsyncFileIOContext ( int  _max_depth)

◆ ~AsyncFileIOContext()

Realm::AsyncFileIOContext::~AsyncFileIOContext ( void  )

Member Function Documentation

◆ available()

long Realm::AsyncFileIOContext::available ( void  )

◆ do_work()

virtual bool Realm::AsyncFileIOContext::do_work ( TimeLimit  work_until)
virtual

◆ empty()

bool Realm::AsyncFileIOContext::empty ( void  )

◆ enqueue_fence()

void Realm::AsyncFileIOContext::enqueue_fence ( Operation req)

◆ enqueue_read()

void Realm::AsyncFileIOContext::enqueue_read ( int  fd,
size_t  offset,
size_t  bytes,
void *  buffer,
Request req = NULL 
)

◆ enqueue_write()

void Realm::AsyncFileIOContext::enqueue_write ( int  fd,
size_t  offset,
size_t  bytes,
const void *  buffer,
Request req = NULL 
)

◆ get_singleton()

static AsyncFileIOContext * Realm::AsyncFileIOContext::get_singleton ( void  )
static

◆ make_progress()

void Realm::AsyncFileIOContext::make_progress ( void  )
protected

Member Data Documentation

◆ launched_operations

std::deque<AIOOperation *> Realm::AsyncFileIOContext::launched_operations
protected

◆ max_depth

int Realm::AsyncFileIOContext::max_depth
protected

◆ mutex

Mutex Realm::AsyncFileIOContext::mutex
protected

◆ pending_operations

std::deque<AIOOperation *> Realm::AsyncFileIOContext::pending_operations
protected

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