Example #1
0
 bool ServerCollect::remove_writable_(const common::ArrayHelper<BlockCollect*>& blocks)
 {
   RWLock::Lock lock(mutex_, WRITE_LOCKER);
   BlockCollect* block = NULL;
   for (int32_t i = 0; i < blocks.get_array_index(); ++i)
   {
     block = *blocks.at(i);
     TBSYS_LOG(DEBUG, "%s remove_writable: is_full: %d, servers size: %d",
       tbsys::CNetUtil::addrToString(id()).c_str(), block->is_full(), block->get_servers_size());
     if (!block->is_writable() || !is_equal_group(block->id()))
        hold_master_->erase(block);
     if (block->is_full() || !is_equal_group(block->id()))
        writable_->erase(block);
   }
   return true;
 }