Class nest_block_process

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

  • public rer::client< nest_block_process >

Class Documentation

class nest_block_process : public rer::client<nest_block_process>

Fired whenever a robot brings a block to the crepr::nest, and meets the conditions for processing, “processing” having an application dependent meaning, hence the generic name of this class.

Public Types

using visit_typelist = visit_typelist_impl::value

Public Functions

nest_block_process(const nest_block_process&) = delete
nest_block_process(crepr::sim_block3D *arena_block, const rtypes::timestep &t)

Initialize a nest block process event.

Parameters:
  • arena_block – The arena map owned block with the same ID as the block the robot released for this processing event.

  • t – Current timestep.

~nest_block_process(void) override = default
nest_block_process &operator=(const nest_block_process&) = delete
void visit(base_arena_map &map)
void visit(caching_arena_map &map)

Perform actual nest block process in the arena.

Takes caching_arena_map block and grid mutexes to protect block re-distribution and block updates, and releases afterwards. See COSM#594.