blob: 6b0a425054a9c868561b6b575421b3adcc6022f1 [file] [log] [blame]
#pragma once
#include "NVMeContext.hpp"
#include <boost/asio/io_service.hpp>
#include <boost/asio/posix/stream_descriptor.hpp>
class NVMeBasicContext : public NVMeContext
{
public:
NVMeBasicContext(boost::asio::io_service& io, int rootBus);
~NVMeBasicContext() override = default;
void pollNVMeDevices() override;
void readAndProcessNVMeSensor(
std::list<std::shared_ptr<NVMeSensor>>::iterator iter) override;
void processResponse(std::shared_ptr<NVMeSensor>& sensor, void* msg,
size_t len) override;
private:
NVMeBasicContext(boost::asio::io_service& io, int rootBus, int cmdOut,
int streamIn, int streamOut, int cmdIn);
boost::asio::io_service& io;
boost::asio::posix::stream_descriptor reqStream;
boost::asio::posix::stream_descriptor respStream;
};