Thrill  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
thrill::io Namespace Reference

Namespaces

 mng_local
 Block Manager Internals.
 

Classes

class  BadExternalAlloc
 
struct  BasicAllocationStrategy
 
class  BID
 
class  BID< 0 >
 
class  BlockManager
 
class  Config
 
class  DiskAllocator
 
class  DiskConfig
 
class  DiskQueuedFile
 Implementation of some file methods based on serving_request. More...
 
class  DiskQueues
 
class  FileBase
 
struct  FullyRandom
 
class  IoError
 
class  LinuxaioFile
 
class  LinuxaioQueue
 
class  LinuxaioRequest
 Request for an linuxaio_file. More...
 
class  MemoryFile
 Implementation of file based on new[] and memcpy. More...
 
class  MmapFile
 Implementation of memory mapped access file. More...
 
struct  OffsetAllocator
 
struct  RandomCyclic
 
struct  RCDisk
 
struct  RCFlash
 
class  Request
 Request object encapsulating basic properties like file and offset. More...
 
class  RequestDeleter
 deleter for Requests which are allocated from mem::g_pool. More...
 
class  RequestQueue
 Interface of a request_queue to which requests can be added and canceled. More...
 
class  RequestQueueImpl1Q
 
class  RequestQueueImplQwQr
 
class  RequestQueueImplWorker
 
class  ServingRequest
 Request which serves an I/O by calling the synchronous routine of the file. More...
 
struct  SimpleRandom
 
struct  SingleDisk
 
class  Stats
 Collects various I/O statistics. More...
 
class  StatsData
 
struct  Striping
 
class  SyscallFile
 Implementation of file based on UNIX syscalls. More...
 
class  TypedBlock
 
class  UfsFileBase
 Base for UNIX file system implementations. More...
 
class  WfsFileBase
 Base for Windows file system implementations. More...
 
class  WincallFile
 Implementation of file based on Windows native I/O calls. More...
 

Typedefs

template<size_t BlockSize>
using BIDArray = std::vector< BID< BlockSize > >
 
using CompletionHandler = tlx::delegate< void(Request *, bool)>
 
using FileBasePtr = tlx::CountingPtr< FileBase >
 
using Place = std::pair< int64_t, int64_t >
 
using RequestPtr = tlx::CountingPtr< Request, RequestDeleter >
 A reference counting pointer for request. More...
 
using RequestQueueMap = std::map< DiskQueues::DiskId, RequestQueue * >
 
using SortSeq = std::map< int64_t, int64_t, std::less< int64_t >, mem::GPoolAllocator< std::pair< const int64_t, int64_t > > >
 

Functions

template<typename RequestIterator >
std::iterator_traits
< RequestIterator >
::difference_type 
cancel_all (RequestIterator reqs_begin, RequestIterator reqs_end)
 
FileBasePtr CreateFile (const std::string &io_impl, const std::string &filename, int options, int physical_device_id=FileBase::DEFAULT_QUEUE, int disk_allocator_id=FileBase::NO_ALLOCATOR)
 create fileio object from io_impl string and a few parameters More...
 
FileBasePtr CreateFile (DiskConfig &config, int mode, int disk_allocator_id=FileBase::NO_ALLOCATOR)
 create fileio object from disk_config parameter More...
 
static bool exist_file (const std::string &path)
 
static HANDLE open_file_impl (const std::string &filename, int mode)
 
template<size_t BlockSize>
std::ostream & operator<< (std::ostream &s, const BID< BlockSize > &bid)
 
template std::ostream & operator<< (std::ostream &s, const BID< 0 > &bid)
 
template std::ostream & operator<< (std::ostream &s, const BID< 131072 > &bid)
 
template std::ostream & operator<< (std::ostream &s, const BID< 524288 > &bid)
 
std::ostream & operator<< (std::ostream &out, const Request &req)
 make Request ostreamable More...
 
std::ostream & operator<< (std::ostream &o, const StatsData &s)
 
std::ostream & operator<< (std::ostream &o, const Stats &s)
 
template<typename RequestIterator >
RequestIterator poll_any (RequestIterator reqs_begin, RequestIterator reqs_end)
 
bool poll_any (RequestPtr req_array[], size_t count, size_t &index)
 
static double timestamp ()
 Returns number of seconds since the epoch, high resolution. More...
 
template<typename RequestIterator >
void wait_all (RequestIterator reqs_begin, RequestIterator reqs_end)
 Collection of functions to track statuses of a number of requests. More...
 
static void wait_all (RequestPtr req_array[], size_t count)
 

Typedef Documentation

using Place = std::pair<int64_t, int64_t>

Definition at line 31 of file disk_allocator.cpp.

Definition at line 31 of file disk_queues.cpp.

using SortSeq = std::map< int64_t, int64_t, std::less<int64_t>, mem::GPoolAllocator<std::pair<const int64_t, int64_t> > >

Definition at line 43 of file disk_allocator.cpp.

Function Documentation

FileBasePtr CreateFile ( const std::string &  io_impl,
const std::string &  filename,
int  options,
int  physical_device_id,
int  disk_allocator_id 
)

create fileio object from io_impl string and a few parameters

Definition at line 32 of file create_file.cpp.

References FileBase::DIRECT, DiskConfig::direct, DiskConfig::DIRECT_OFF, DiskConfig::DIRECT_ON, DiskConfig::DIRECT_TRY, DiskConfig::queue, and FileBase::REQUIRE_DIRECT.

Referenced by BlockManager::BlockManager(), and open_file_impl().

static bool thrill::io::exist_file ( const std::string &  path)
inlinestatic

Definition at line 42 of file config_file.cpp.

References LOG0.

Referenced by Config::find_config().

static HANDLE thrill::io::open_file_impl ( const std::string &  filename,
int  mode 
)
static
template std::ostream& thrill::io::operator<< ( std::ostream &  s,
const BID< 0 > &  bid 
)
template std::ostream& thrill::io::operator<< ( std::ostream &  s,
const BID< 131072 > &  bid 
)
template std::ostream& thrill::io::operator<< ( std::ostream &  s,
const BID< 524288 > &  bid 
)