MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/application/basic/MonotonicBufferResource.hh

50 lines
1.1 KiB
C++

/*
* MonotonicBufferResource.hh
*
* Created on: 15 èþí. 2020 ã.
* Author: LeonidTitov
*/
#ifndef UMLIBRARY_APPLICATION_BASIC_MONOTONICBUFFERRESOURCE_HH_
#define UMLIBRARY_APPLICATION_BASIC_MONOTONICBUFFERRESOURCE_HH_
#include "../ISetupStep.hh"
#include <memory_resource>
#include "../../units/LogicalEntities.hpp"
namespace application { namespace basic {
//!Ðåñóðñ ïàìÿòè ðåàëèçóþùèé ñòðàòåãèþ monotonic_buffer_resource.
struct MonotonicBufferResource : public ISetupStep {
std::pmr::memory_resource * upstream_resource = nullptr;
bool input( Environment & env );
void build( Environment & env );
void finalize() {}
struct Links {
Environment::Id upstream; //!<Ðåñóðñ èñõîäíîé ïàìÿòè.
Environment::Id monotonic; //!<Äèíàìè÷åñêàÿ ïàìÿòü ñî ñòðàòåãèåé monotonic_buffer_resource.
};
struct Setting {
units::Size buffer_size; //!<Ðàçìåð áóôåðà.
};
const Links & links;
const Setting & setting;
MonotonicBufferResource( const Links & links, const Setting & setting );
};
}}
#endif /* UMLIBRARY_APPLICATION_BASIC_MONOTONICBUFFERRESOURCE_HH_ */