Skip to content
Permalink
Browse files

Slight simplification and optimization of RemoteClient.

  • Loading branch information
lhofhansl committed Nov 4, 2020
1 parent aa4d3cb commit 39213bd00a8d00861616d94a29823cb2214f742e
Showing with 7 additions and 13 deletions.
  1. +7 −13 src/clientiface.cpp
@@ -298,20 +298,14 @@ void RemoteClient::GetNextBlocks (
*/
MapBlock *block = env->getMap().getBlockNoCreateNoEx(p);

bool surely_not_found_on_disk = false;
bool block_is_invalid = false;
bool block_not_found = false;
if (block) {
// Reset usage timer, this block will be of use in the future.
block->resetUsageTimer();

// Block is dummy if data doesn't exist.
// It means it has been not found from disk and not generated
if (block->isDummy()) {
surely_not_found_on_disk = true;
}

if (!block->isGenerated())
block_is_invalid = true;
// Check whether the block exists (with data)
if (block->isDummy() || !block->isGenerated())
block_not_found = true;

/*
If block is not close, don't send it unless it is near
@@ -325,7 +319,7 @@ void RemoteClient::GetNextBlocks (
continue;
}

if (m_occ_cull && !block_is_invalid &&
if (m_occ_cull && !block_not_found &&
env->getMap().isBlockOccluded(block, cam_pos_nodes)) {
continue;
}
@@ -335,15 +329,15 @@ void RemoteClient::GetNextBlocks (
If block has been marked to not exist on disk (dummy) or is
not generated and generating new ones is not wanted, skip block.
*/
if (!generate && (surely_not_found_on_disk || block_is_invalid)) {
if (!generate && block_not_found) {
// get next one.
continue;
}

/*
Add inexistent block to emerge queue.
*/
if (block == NULL || surely_not_found_on_disk || block_is_invalid) {
if (block == NULL || block_not_found) {
if (emerge->enqueueBlockEmerge(peer_id, p, generate)) {
if (nearest_emerged_d == -1)
nearest_emerged_d = d;

0 comments on commit 39213bd

Please sign in to comment.
You can’t perform that action at this time.