MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/logging/LogStorageStreamAgent.hh

61 lines
1.4 KiB
C++
Raw Normal View History

#pragma once
#include "../communication/service/IMessageHandler.hh"
#include "Logger.hh"
#include "StorageManager.hh"
#include <memory_resource>
#include <map>
namespace logging {
class LogStorageStreamAgent {
public:
enum StreamingContex {
LOG_STORAGE_PARAMETES,
READ_RECORDS_BLOCK
};
public:
LogStorageStreamAgent( StorageReadInterface & );
communication::IMessageHandler * get_context_of( StreamingContex );
private:
StorageReadInterface & storage;
struct LogParameters : communication::IMessageHandler {
LogStorageStreamAgent & agent;
struct Responce {
Logger::Id idx; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
StorageManager::BlockId n; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
};
LogParameters( LogStorageStreamAgent & agent_ ) : agent(agent_) {}
void handler( communication::IMessageLink * link );
} log_parameters;
//!<21><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
struct ReadingRecordsBlock : communication::IMessageHandler {
LogStorageStreamAgent & agent;
struct Responce {
StorageManager::prefetch_result operation_result; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
uint16_t length; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
ReadingRecordsBlock( LogStorageStreamAgent & agent_ ) : agent(agent_) {}
void handler( communication::IMessageLink * link );
} reading_records_block;
};
}