75 lines
2.3 KiB
C++
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__ */
|
|
|