Files
interactive/fhs/csagentd/src/StorageCheck.h
T
2026-08-07 17:38:18 +09:00

75 lines
2.3 KiB
C++

/****************************************************************************
Storage write / read check class
-----------------------------------------
begin : 2018/01/29
copyright : (C) 2005 Solbox Inc.
author : Dev Storage Team
email : huibong@solbox.com
version : 3.5
CopyRight(C) 2005 Solbox Inc. All Rights reserved.
Redistribution and use in source and binary forms, with or with out
modification, are not permitted in outside of Solbox Inc.
*****************************************************************************/
#ifndef __STORAGE_CHECK_H__
#define __STORAGE_CHECK_H__
#include "FhsShm.h"
#include "StorageInfo.h"
#include <unistd.h>
#include <string>
#include <vector>
// Storage 관련 임시 file write, read 테스트를 수행하기 위한 class
class CStorageCheck
{
public:
// 생성자
CStorageCheck( CFhsShm * pFhsShm );
// 소멸자
~CStorageCheck();
public: // Storage Write, Read 테스트 관련 함수
// 초기화 함수
bool Init( const char * szRoot );
// Storage 상태 Check 시작
// - 인자값으로 최상위 storage root path 정보 입력 (check 시마다 정보 추출하여 check 수행하도록 하기 위함)
// - 오류 발생시 false 반환
// - Hang 발생 가능하므로 본 함수 호출부에서 timeout 처리 필요
bool Check( const char * szRoot );
private: // 멤버 변수
// 공유메모리 interface 객체에 대한 포인터.
// - 공유메모리에 Data Set, Get 을 담당
CFhsShm * m_pFhsShm;
// Storage 관련 정보 추출을 담당할 객체.
CStorageInfo m_storageInfo;
struct timespec m_timeTotalStart; // total 소요시간 측정을 위한 멤버변수
struct timespec m_timeTotalEnd; // total 소요시간 측정을 위한 멤버변수
double m_dElapsedTotalTime; // total 소요시간 측정을 위한 멤버변수
struct timespec m_timeDiskStart; // 각 disk 단위 소요시간 측정을 위한 멤버변수
struct timespec m_timeDiskEnd; // 각 disk 단위 소요시간 측정을 위한 멤버변수
double m_dElapsedDiskTime; // 각 disk 단위 소요시간 측정을 위한 멤버변수
private: // 처리 관련 내부 함수
};
#endif /* __STORAGE_CHECK_H__ */