Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 14 additions & 39 deletions src/burp/BurpTasks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ const FB_SIZE_T MIN_IO_BUFFER_SIZE = 128 * 1024;

/// class IOBuffer

IOBuffer::IOBuffer(void* item, FB_SIZE_T size) :
IOBuffer::IOBuffer(BurpTaskItem* item, FB_SIZE_T size) :
m_item(item),
m_memory(*getDefaultMemoryPool()),
m_aligned(NULL),
Expand All @@ -53,7 +53,6 @@ IOBuffer::IOBuffer(void* item, FB_SIZE_T size) :
m_next(NULL),
m_linked(false),
m_locked(0)

{
fb_assert(size >= MIN_IO_BUFFER_SIZE);
m_aligned = m_memory.getBuffer(m_size);
Expand All @@ -63,7 +62,7 @@ IOBuffer::IOBuffer(void* item, FB_SIZE_T size) :
class BurpGblHolder
{
public:
BurpGblHolder(BurpGlobals* gbl, void* item)
BurpGblHolder(BurpGlobals* gbl, BurpTaskItem* item)
{
m_prev = BurpGlobals::getSpecific();

Expand All @@ -89,7 +88,7 @@ class BurpGblHolder
}
protected:
BurpGlobals* m_prev;
void* m_prev_item;
BurpTaskItem* m_prev_item;
};


Expand Down Expand Up @@ -122,17 +121,14 @@ class SimpleGblHolder

/// class BackupRelationTask

BackupRelationTask::BackupRelationTask(BurpGlobals* tdgbl) : Task(),
m_masterGbl(tdgbl),
BackupRelationTask::BackupRelationTask(BurpGlobals* tdgbl) : BurpTask(tdgbl),
m_relation(NULL),
m_readers(0),
m_readDone(false),
m_nextPP(0),
m_stop(false),
m_error(false)
{
fb_utils::init_status(m_status);

int workers = tdgbl->gbl_sw_par_workers;
if (workers <= 0)
workers = 1;
Expand Down Expand Up @@ -191,7 +187,7 @@ void BackupRelationTask::SetRelation(burp_rel* relation)

bool BackupRelationTask::handler(WorkItem& _item)
{
Item* item = reinterpret_cast<Item*>(&_item);
Item* item = static_cast<Item*>(&_item);

try
{
Expand Down Expand Up @@ -236,7 +232,7 @@ bool BackupRelationTask::handler(WorkItem& _item)

bool BackupRelationTask::getWorkItem(BackupRelationTask::WorkItem** pItem)
{
Item* item = reinterpret_cast<Item*> (*pItem);
Item* item = static_cast<Item*>(*pItem);

MutexLockGuard guard(m_mutex, FB_FUNCTION);

Expand Down Expand Up @@ -356,7 +352,7 @@ IOBuffer* BackupRelationTask::renewBuffer(BurpGlobals* tdgbl)
{
fb_assert(!tdgbl->master);

Item* item = reinterpret_cast<Item*> (tdgbl->taskItem);
Item* item = static_cast<Item*>(tdgbl->taskItem);
fb_assert(item);
if (!item)
return NULL;
Expand Down Expand Up @@ -433,7 +429,7 @@ void BackupRelationTask::releaseBuffer(Item& item)

void BackupRelationTask::recordAdded(BurpGlobals* tdgbl)
{
Item* item = reinterpret_cast<Item*> (tdgbl->taskItem);
Item* item = static_cast<Item*>(tdgbl->taskItem);
if (!item)
return;

Expand All @@ -442,15 +438,6 @@ void BackupRelationTask::recordAdded(BurpGlobals* tdgbl)
tdgbl->mvol_io_data = tdgbl->gbl_io_ptr;
}

BackupRelationTask* BackupRelationTask::getBackupTask(BurpGlobals* tdgbl)
{
Item* item = reinterpret_cast<Item*> (tdgbl->taskItem);
if (item)
return item->getBackupTask();

return NULL;
}

IOBuffer* BackupRelationTask::getDirtyBuffer()
{
IOBuffer* buf = NULL;
Expand Down Expand Up @@ -479,7 +466,7 @@ IOBuffer* BackupRelationTask::getDirtyBuffer()

void BackupRelationTask::putCleanBuffer(IOBuffer* buf)
{
Item* item = reinterpret_cast<Item*>(buf->getItem());
Item* item = static_cast<Item*>(buf->getItem());
{
MutexLockGuard guard(item->m_mutex, FB_FUNCTION);

Expand Down Expand Up @@ -650,8 +637,7 @@ BackupRelationTask::Item::EnsureUnlockBuffer::~EnsureUnlockBuffer()

/// class RestoreRelationTask

RestoreRelationTask::RestoreRelationTask(BurpGlobals* tdgbl) : Task(),
m_masterGbl(tdgbl),
RestoreRelationTask::RestoreRelationTask(BurpGlobals* tdgbl) : BurpTask(tdgbl),
m_relation(NULL),
m_lastRecord(rec_relation_data),
m_writers(0),
Expand All @@ -662,8 +648,6 @@ RestoreRelationTask::RestoreRelationTask(BurpGlobals* tdgbl) : Task(),
m_verbRecs(0)

{
fb_utils::init_status(m_status);

int workers = tdgbl->gbl_sw_par_workers;
if (workers <= 0)
workers = 1;
Expand Down Expand Up @@ -725,7 +709,7 @@ void RestoreRelationTask::SetRelation(BurpGlobals* tdgbl, burp_rel* relation)

bool RestoreRelationTask::handler(WorkItem& _item)
{
Item* item = reinterpret_cast<Item*>(&_item);
Item* item = static_cast<Item*>(&_item);

try
{
Expand Down Expand Up @@ -772,7 +756,7 @@ bool RestoreRelationTask::handler(WorkItem& _item)

bool RestoreRelationTask::getWorkItem(WorkItem** pItem)
{
Item* item = reinterpret_cast<Item*> (*pItem);
Item* item = static_cast<Item*>(*pItem);

MutexLockGuard guard(m_mutex, FB_FUNCTION);

Expand Down Expand Up @@ -821,7 +805,7 @@ bool RestoreRelationTask::getWorkItem(WorkItem** pItem)
return (item && item->m_inuse);
}

bool RestoreRelationTask::getResult(IStatus* status)
bool RestoreRelationTask::getResult(IStatus* /*status*/)
{
fb_assert(!m_error || m_dirtyBuffers.isEmpty());

Expand All @@ -833,15 +817,6 @@ int RestoreRelationTask::getMaxWorkers()
return m_items.getCount();
}

RestoreRelationTask* RestoreRelationTask::getRestoreTask(BurpGlobals* tdgbl)
{
Item* item = reinterpret_cast<Item*> (tdgbl->taskItem);
if (item)
return item->getRestoreTask();

return NULL;
}

void RestoreRelationTask::verbRecs(FB_UINT64& records, bool total)
{
if (!total)
Expand Down Expand Up @@ -1047,7 +1022,7 @@ IOBuffer* RestoreRelationTask::renewBuffer(BurpGlobals* tdgbl)

fb_assert(!tdgbl->master);

Item* item = reinterpret_cast<Item*> (tdgbl->taskItem);
Item* item = static_cast<Item*>(tdgbl->taskItem);
fb_assert(item);
if (!item)
ExcReadDone::raise();
Expand Down
Loading
Loading