base
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
/***************************************************************************
|
||||
Replicationg 관련 Queue Pop Control class
|
||||
-----------------------------------------
|
||||
begin : 2010/03/31
|
||||
copyright : (C) 2010 Solbox Inc.
|
||||
author : storage dev team
|
||||
email : storage.sd@solbox.com
|
||||
version : 3.3
|
||||
|
||||
CopyRight(C) 2010 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 __REPLICATE_QUEUE_CONTROL_H__
|
||||
#define __REPLICATE_QUEUE_CONTROL_H__
|
||||
|
||||
#include <list>
|
||||
|
||||
#include "DataQueue.hpp"
|
||||
#include "ReplicationData.h"
|
||||
#include "ReportLog.h"
|
||||
|
||||
|
||||
// CQueuePopControl
|
||||
// Replication 처리 관련 원본 Queue 와 재시도 Queue 중
|
||||
// 어느 Queue 에서 Replication 대상 content 를 POP 처리할 것인지를
|
||||
// 제어하기 위한 클래스
|
||||
class CReplicateQueueControl
|
||||
{
|
||||
public:
|
||||
|
||||
// 생성자
|
||||
CReplicateQueueControl();
|
||||
|
||||
// 소멸자
|
||||
~CReplicateQueueControl();
|
||||
|
||||
// 객체 초기화 함수
|
||||
bool Init( CDataQueue<CSourceData> * pSourceQueue, CDataQueue<CRetryData> * pRetryQueue );
|
||||
|
||||
|
||||
// Replication 을 처리할 객체를 요청한 수만큼 list 형태로 전달
|
||||
// @param [in] nCnt 요청 개수를 입력한다.
|
||||
// @param [out] lstWork 작업대상 정보를 list형태로 전달
|
||||
// @return true 처리할 data 가 존재하는 경우..
|
||||
// false 처리할 data 가 없는 경우
|
||||
bool GetWork(unsigned int nCnt, std::list<CRetryData>& lstWork);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// 복제대상 Content 정보를 관리하는 Queue 객체에 대한 포인터
|
||||
CDataQueue<CSourceData> * m_pSourceQueue;
|
||||
|
||||
// 복제 처리 관련 재시도 Content 정보를 관리하는 Queue 객체에 대한 포인터
|
||||
CDataQueue<CRetryData> * m_pRetryQueue;
|
||||
|
||||
// Report log 처리 관련 객체
|
||||
CReportLog m_reportLog;
|
||||
|
||||
};
|
||||
|
||||
#endif // __REPLICATE_QUEUE_CONTROL_H__
|
||||
Reference in New Issue
Block a user