Stxxl  1.3.1
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 <dementiev@mpi-sb.mpg.de>
7  * Copyright (C) 2008 Andreas Beckmann <beckmann@cs.uni-frankfurt.de>
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