61 lines
1.8 KiB
C++
61 lines
1.8 KiB
C++
/***************************************************************************
|
|
Process Dummy Class
|
|
-----------------------------------------
|
|
begin : 2015/05/28
|
|
copyright : (C) 2005 Solbox Inc.
|
|
author : Dev 1 Team
|
|
email : storage.sd@solbox.com
|
|
version : 3.5.0
|
|
|
|
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 __TRANSFER_STAT_DATA__LIST_H__
|
|
#define __TRANSFER_STAT_DATA__LIST_H__
|
|
|
|
#include <map>
|
|
#include <string.h>
|
|
#include <pthread.h>
|
|
#include "Logger.h"
|
|
#include "FimngdData.h"
|
|
#include "TransferStatData.h"
|
|
|
|
class CTransferStatDataList
|
|
{
|
|
public:
|
|
CTransferStatDataList();
|
|
virtual ~CTransferStatDataList();
|
|
|
|
///@brief TransferStatData 큐에 데이터를 삽입하는 함수.
|
|
///@param logData [in] TransferLogData 레퍼런스.
|
|
///@return 큐에 삽입 성공하면 true, 그렇지 않으면 false 반환.
|
|
/// 큐의 최대 크기는 100,000개이다.
|
|
/// 그러므로 현재 큐의 크기가 100,000개이면 false를 반환한다.
|
|
void Push( CTransferStatData& statData );
|
|
|
|
///@brief TransferStatData 큐에서 데이터를 얻는 함수.
|
|
/// 반환된 데이터는 큐에서 삭제된다.
|
|
///@param none.
|
|
///@return TransferStatData 객체
|
|
void Pop(CTransferStatData & data);
|
|
|
|
///@brief TransferStatData 큐의 크기를 얻는 함수.
|
|
///@param none.
|
|
///@return TransferStatData 큐의 크기를 반환.
|
|
unsigned int GetSize();
|
|
|
|
///@brief 큐의 모든 데이터를 삭제하는 함수.
|
|
///@param none.
|
|
///@param none.
|
|
void Clear();
|
|
private:
|
|
|
|
std::map< std::string, CTransferStatData> m_TransferStatMap;
|
|
|
|
pthread_mutex_t m_mutex;
|
|
};
|
|
|
|
#endif //__TRANSFER_STAT_DATA__LIST_H__
|