ultramarine/actor.hpp
namespace ultramarine
{
template <typename Derived, typename LocalPlacementStrategy = default_local_placement_strategy>
struct actor;
}
Struct ultramarine::actor
template <typename Derived, typename LocalPlacementStrategy = default_local_placement_strategy>
struct actor
{
using KeyType = ultramarine::actor_id;
using PlacementStrategy = LocalPlacementStrategy;
static seastar::future<> clear_directory();
};
Base template class defining an actor
Template parameters
Derived
- The derived actor class for CRTP purposes
Template parameter ultramarine::actor::LocalPlacementStrategy
typename LocalPlacementStrategy = default_local_placement_strategy
Optional. Allows to specify a custom local placement strategy. Defaults to ultramarine::default_local_placement_strategy
Requires: Derived
should implement actor behavior using ULTRAMARINE_DEFINE_ACTOR
Type alias ultramarine::actor::KeyType
using KeyType = ultramarine::actor_id;
Default key type (unsigned long integer)
Type alias ultramarine::actor::PlacementStrategy
using PlacementStrategy = LocalPlacementStrategy;
Default placement strategy
Function ultramarine::actor::clear_directory
static seastar::future<> clear_directory();
Effects: Clears all actors of type Derived in all shards
Returns: A future available when all instances of this actor type have been purged