Class cache_block_drop

Nested Relationships

Nested Types

Inheritance Relationships

Base Types

  • public rer::client< cache_block_drop >

  • public cds::operations::cell2D_op

Class Documentation

class cache_block_drop : public rer::client<cache_block_drop>, public cds::operations::cell2D_op

Created whenever a robot drops a block in a cache.

The cache usuage penalty, if there is one, is not assessed during the event, but at a higher level.

Public Types

using visit_typelist = visit_typelist_impl::value

Public Functions

cache_block_drop(const cache_block_drop &op) = delete
~cache_block_drop(void) override = default
cache_block_drop &operator=(const cache_block_drop &op) = delete
void visit(caching_arena_map &map)

Perform actual cache block drop in the arena, taking/releasing locks as needed.

Protected Functions

cache_block_drop(crepr::sim_block3D *arena_block, carepr::arena_cache *cache, const rtypes::discretize_ratio &resolution, const locking &locking)

Initialize a cache_block_drop event caused by a robot dropping a block.

Parameters:
  • arena_block – The block to drop in the cache (MUST be owned by arena).

  • cache – Cache to drop into (owned by arena).

  • resolution – Arena resolution.

  • locking – Is locking needed around block accesses?