Stxxl  1.3.2
serving_request.h
1 /***************************************************************************
2  * include/stxxl/bits/io/serving_request.h
3  *
4  * Part of the STXXL. See http://stxxl.sourceforge.net
5  *
6  * Copyright (C) 2002 Roman Dementiev <[email protected]>
7  * Copyright (C) 2008 Andreas Beckmann <[email protected]>
8  *
9  * Distributed under the Boost Software License, Version 1.0.
10  * (See accompanying file LICENSE_1_0.txt or copy at
11  * http://www.boost.org/LICENSE_1_0.txt)
12  **************************************************************************/
13 
14 #ifndef STXXL_IO__SERVING_REQUEST_H_
15 #define STXXL_IO__SERVING_REQUEST_H_
16 
17 #include <stxxl/bits/io/request_with_state.h>
18 
19 
20 __STXXL_BEGIN_NAMESPACE
21 
24 
27 {
28  template <class base_file_type>
29  friend class fileperblock_file;
30 
31 public:
33  const completion_handler & on_cmpl,
34  file * f,
35  void * buf,
36  offset_type off,
37  size_type b,
38  request_type t);
39 
40 protected:
41  void serve();
42  void completed();
43 
44 public:
45  const char * io_type() const;
46 };
47 
49 
50 __STXXL_END_NAMESPACE
51 
52 #endif // !STXXL_IO__SERVING_REQUEST_H_
53 // vim: et:ts=4:sw=4
Defines interface of file.
Definition: file.h:90
const char * io_type() const
Identifies the type of I/O implementation.
Definition: serving_request.cpp:72
Completion handler class (Loki-style)
Definition: completion_handler.h:63
Request with completion state.
Definition: request_with_state.h:28
Request which serves an I/O by calling the synchronous routine of the file.
Definition: serving_request.h:26
Implementation of file based on other files, dynamically allocate one file per block. Allows for dynamic disk space consumption.
Definition: fileperblock_file.h:28