STXXL  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
serving_request.h
Go to the documentation of this file.
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_HEADER
15 #define STXXL_IO_SERVING_REQUEST_HEADER
16 
18 
19 
21 
22 //! \addtogroup iolayer
23 //! \{
24 
25 //! Request which serves an I/O by calling the synchronous routine of the file.
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 
48 //! \}
49 
51 
52 #endif // !STXXL_IO_SERVING_REQUEST_HEADER
53 // vim: et:ts=4:sw=4
Completion handler class (Loki-style).
Request with completion state.
Request which serves an I/O by calling the synchronous routine of the file.
Defines interface of file.
Definition: file.h:52
#define STXXL_BEGIN_NAMESPACE
Definition: namespace.h:16
Implementation of file based on other files, dynamically allocate one file per block. Allows for dynamic disk space consumption.
stxxl::internal_size_type size_type
stxxl::external_size_type offset_type
#define STXXL_END_NAMESPACE
Definition: namespace.h:17