15 #ifndef INCLUDED_protocols_wum2_WUQueueBuffer_hh
16 #define INCLUDED_protocols_wum2_WUQueueBuffer_hh
21 #include <boost/mpi.hpp>
25 #include <boost/tuple/tuple.hpp>
26 #include <boost/cstdint.hpp>
37 typedef boost::tuple< boost::uint64_t, boost::mpi::request, boost::shared_ptr< std::vector< WorkUnitSP > > > mem_req_data_tuple;
38 typedef std::list< mem_req_data_tuple>::reverse_iterator riterator;
39 typedef std::list< mem_req_data_tuple>::iterator iterator;
41 WUQueueBuffer():current_mem_(0){}
44 boost::uint64_t current_mem() {
return current_mem_; }
49 riterator allocate_buffer( boost::uint64_t
size );
52 std::vector< WorkUnitSP > cleanup_reqs();
55 boost::uint64_t current_mem_;
56 std::list< mem_req_data_tuple> buffer_;