ganeti

Safe HaskellSafe-Infered

Ganeti.HTools.Container

Description

Module abstracting the node and instance container implementation.

This is currently implemented on top of an IntMap, which seems to give the best performance for our workload.

Synopsis

Documentation

type Key = KeySource

Our key type.

type Container = IntMapSource

Our container type.

find :: Key -> Container a -> aSource

Locate a key in the map (must exist).

add :: Key -> a -> Container a -> Container aSource

Add or update one element to the map.

addTwo :: Key -> a -> Key -> a -> Container a -> Container aSource

Add or update two elements of the map.

nameOf :: Element a => Container a -> Key -> StringSource

Compute the name of an element in a container.

findByName :: (Element a, Monad m) => Container a -> String -> m aSource

Find an element by name in a Container; this is a very slow function.