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

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__