module System.Nix.Store.Remote.Types.GC (
GCAction(..)
, GCOptions(..)
, GCResult(..)
, GCRoot(..)
) where
import Data.HashSet (HashSet)
import Data.Word (Word64)
import GHC.Generics (Generic)
import System.Nix.StorePath (StorePath)
import System.Posix.ByteString (RawFilePath)
data GCAction
= GCAction_ReturnLive
| GCAction_ReturnDead
| GCAction_DeleteDead
| GCAction_DeleteSpecific
deriving (GCAction
GCAction -> GCAction -> Bounded GCAction
forall a. a -> a -> Bounded a
$cminBound :: GCAction
minBound :: GCAction
$cmaxBound :: GCAction
maxBound :: GCAction
Bounded, GCAction -> GCAction -> Bool
(GCAction -> GCAction -> Bool)
-> (GCAction -> GCAction -> Bool) -> Eq GCAction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GCAction -> GCAction -> Bool
== :: GCAction -> GCAction -> Bool
$c/= :: GCAction -> GCAction -> Bool
/= :: GCAction -> GCAction -> Bool
Eq, Int -> GCAction
GCAction -> Int
GCAction -> [GCAction]
GCAction -> GCAction
GCAction -> GCAction -> [GCAction]
GCAction -> GCAction -> GCAction -> [GCAction]
(GCAction -> GCAction)
-> (GCAction -> GCAction)
-> (Int -> GCAction)
-> (GCAction -> Int)
-> (GCAction -> [GCAction])
-> (GCAction -> GCAction -> [GCAction])
-> (GCAction -> GCAction -> [GCAction])
-> (GCAction -> GCAction -> GCAction -> [GCAction])
-> Enum GCAction
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: GCAction -> GCAction
succ :: GCAction -> GCAction
$cpred :: GCAction -> GCAction
pred :: GCAction -> GCAction
$ctoEnum :: Int -> GCAction
toEnum :: Int -> GCAction
$cfromEnum :: GCAction -> Int
fromEnum :: GCAction -> Int
$cenumFrom :: GCAction -> [GCAction]
enumFrom :: GCAction -> [GCAction]
$cenumFromThen :: GCAction -> GCAction -> [GCAction]
enumFromThen :: GCAction -> GCAction -> [GCAction]
$cenumFromTo :: GCAction -> GCAction -> [GCAction]
enumFromTo :: GCAction -> GCAction -> [GCAction]
$cenumFromThenTo :: GCAction -> GCAction -> GCAction -> [GCAction]
enumFromThenTo :: GCAction -> GCAction -> GCAction -> [GCAction]
Enum, (forall x. GCAction -> Rep GCAction x)
-> (forall x. Rep GCAction x -> GCAction) -> Generic GCAction
forall x. Rep GCAction x -> GCAction
forall x. GCAction -> Rep GCAction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. GCAction -> Rep GCAction x
from :: forall x. GCAction -> Rep GCAction x
$cto :: forall x. Rep GCAction x -> GCAction
to :: forall x. Rep GCAction x -> GCAction
Generic, Eq GCAction
Eq GCAction =>
(GCAction -> GCAction -> Ordering)
-> (GCAction -> GCAction -> Bool)
-> (GCAction -> GCAction -> Bool)
-> (GCAction -> GCAction -> Bool)
-> (GCAction -> GCAction -> Bool)
-> (GCAction -> GCAction -> GCAction)
-> (GCAction -> GCAction -> GCAction)
-> Ord GCAction
GCAction -> GCAction -> Bool
GCAction -> GCAction -> Ordering
GCAction -> GCAction -> GCAction
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: GCAction -> GCAction -> Ordering
compare :: GCAction -> GCAction -> Ordering
$c< :: GCAction -> GCAction -> Bool
< :: GCAction -> GCAction -> Bool
$c<= :: GCAction -> GCAction -> Bool
<= :: GCAction -> GCAction -> Bool
$c> :: GCAction -> GCAction -> Bool
> :: GCAction -> GCAction -> Bool
$c>= :: GCAction -> GCAction -> Bool
>= :: GCAction -> GCAction -> Bool
$cmax :: GCAction -> GCAction -> GCAction
max :: GCAction -> GCAction -> GCAction
$cmin :: GCAction -> GCAction -> GCAction
min :: GCAction -> GCAction -> GCAction
Ord, Int -> GCAction -> ShowS
[GCAction] -> ShowS
GCAction -> String
(Int -> GCAction -> ShowS)
-> (GCAction -> String) -> ([GCAction] -> ShowS) -> Show GCAction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GCAction -> ShowS
showsPrec :: Int -> GCAction -> ShowS
$cshow :: GCAction -> String
show :: GCAction -> String
$cshowList :: [GCAction] -> ShowS
showList :: [GCAction] -> ShowS
Show)
data GCOptions = GCOptions
{
GCOptions -> GCAction
gcOptionsOperation :: GCAction
, GCOptions -> Bool
gcOptionsIgnoreLiveness :: Bool
, GCOptions -> HashSet StorePath
gcOptionsPathsToDelete :: HashSet StorePath
, GCOptions -> Word64
gcOptionsMaxFreed :: Word64
} deriving (GCOptions -> GCOptions -> Bool
(GCOptions -> GCOptions -> Bool)
-> (GCOptions -> GCOptions -> Bool) -> Eq GCOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GCOptions -> GCOptions -> Bool
== :: GCOptions -> GCOptions -> Bool
$c/= :: GCOptions -> GCOptions -> Bool
/= :: GCOptions -> GCOptions -> Bool
Eq, (forall x. GCOptions -> Rep GCOptions x)
-> (forall x. Rep GCOptions x -> GCOptions) -> Generic GCOptions
forall x. Rep GCOptions x -> GCOptions
forall x. GCOptions -> Rep GCOptions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. GCOptions -> Rep GCOptions x
from :: forall x. GCOptions -> Rep GCOptions x
$cto :: forall x. Rep GCOptions x -> GCOptions
to :: forall x. Rep GCOptions x -> GCOptions
Generic, Eq GCOptions
Eq GCOptions =>
(GCOptions -> GCOptions -> Ordering)
-> (GCOptions -> GCOptions -> Bool)
-> (GCOptions -> GCOptions -> Bool)
-> (GCOptions -> GCOptions -> Bool)
-> (GCOptions -> GCOptions -> Bool)
-> (GCOptions -> GCOptions -> GCOptions)
-> (GCOptions -> GCOptions -> GCOptions)
-> Ord GCOptions
GCOptions -> GCOptions -> Bool
GCOptions -> GCOptions -> Ordering
GCOptions -> GCOptions -> GCOptions
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: GCOptions -> GCOptions -> Ordering
compare :: GCOptions -> GCOptions -> Ordering
$c< :: GCOptions -> GCOptions -> Bool
< :: GCOptions -> GCOptions -> Bool
$c<= :: GCOptions -> GCOptions -> Bool
<= :: GCOptions -> GCOptions -> Bool
$c> :: GCOptions -> GCOptions -> Bool
> :: GCOptions -> GCOptions -> Bool
$c>= :: GCOptions -> GCOptions -> Bool
>= :: GCOptions -> GCOptions -> Bool
$cmax :: GCOptions -> GCOptions -> GCOptions
max :: GCOptions -> GCOptions -> GCOptions
$cmin :: GCOptions -> GCOptions -> GCOptions
min :: GCOptions -> GCOptions -> GCOptions
Ord, Int -> GCOptions -> ShowS
[GCOptions] -> ShowS
GCOptions -> String
(Int -> GCOptions -> ShowS)
-> (GCOptions -> String)
-> ([GCOptions] -> ShowS)
-> Show GCOptions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GCOptions -> ShowS
showsPrec :: Int -> GCOptions -> ShowS
$cshow :: GCOptions -> String
show :: GCOptions -> String
$cshowList :: [GCOptions] -> ShowS
showList :: [GCOptions] -> ShowS
Show)
data GCResult = GCResult
{
GCResult -> HashSet StorePath
gcResultDeletedPaths :: HashSet StorePath
, GCResult -> Word64
gcResultBytesFreed :: Word64
} deriving (GCResult -> GCResult -> Bool
(GCResult -> GCResult -> Bool)
-> (GCResult -> GCResult -> Bool) -> Eq GCResult
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GCResult -> GCResult -> Bool
== :: GCResult -> GCResult -> Bool
$c/= :: GCResult -> GCResult -> Bool
/= :: GCResult -> GCResult -> Bool
Eq, (forall x. GCResult -> Rep GCResult x)
-> (forall x. Rep GCResult x -> GCResult) -> Generic GCResult
forall x. Rep GCResult x -> GCResult
forall x. GCResult -> Rep GCResult x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. GCResult -> Rep GCResult x
from :: forall x. GCResult -> Rep GCResult x
$cto :: forall x. Rep GCResult x -> GCResult
to :: forall x. Rep GCResult x -> GCResult
Generic, Eq GCResult
Eq GCResult =>
(GCResult -> GCResult -> Ordering)
-> (GCResult -> GCResult -> Bool)
-> (GCResult -> GCResult -> Bool)
-> (GCResult -> GCResult -> Bool)
-> (GCResult -> GCResult -> Bool)
-> (GCResult -> GCResult -> GCResult)
-> (GCResult -> GCResult -> GCResult)
-> Ord GCResult
GCResult -> GCResult -> Bool
GCResult -> GCResult -> Ordering
GCResult -> GCResult -> GCResult
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: GCResult -> GCResult -> Ordering
compare :: GCResult -> GCResult -> Ordering
$c< :: GCResult -> GCResult -> Bool
< :: GCResult -> GCResult -> Bool
$c<= :: GCResult -> GCResult -> Bool
<= :: GCResult -> GCResult -> Bool
$c> :: GCResult -> GCResult -> Bool
> :: GCResult -> GCResult -> Bool
$c>= :: GCResult -> GCResult -> Bool
>= :: GCResult -> GCResult -> Bool
$cmax :: GCResult -> GCResult -> GCResult
max :: GCResult -> GCResult -> GCResult
$cmin :: GCResult -> GCResult -> GCResult
min :: GCResult -> GCResult -> GCResult
Ord, Int -> GCResult -> ShowS
[GCResult] -> ShowS
GCResult -> String
(Int -> GCResult -> ShowS)
-> (GCResult -> String) -> ([GCResult] -> ShowS) -> Show GCResult
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GCResult -> ShowS
showsPrec :: Int -> GCResult -> ShowS
$cshow :: GCResult -> String
show :: GCResult -> String
$cshowList :: [GCResult] -> ShowS
showList :: [GCResult] -> ShowS
Show)
data GCRoot
= GCRoot_Censored
| GCRoot_Path RawFilePath
deriving (GCRoot -> GCRoot -> Bool
(GCRoot -> GCRoot -> Bool)
-> (GCRoot -> GCRoot -> Bool) -> Eq GCRoot
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GCRoot -> GCRoot -> Bool
== :: GCRoot -> GCRoot -> Bool
$c/= :: GCRoot -> GCRoot -> Bool
/= :: GCRoot -> GCRoot -> Bool
Eq, (forall x. GCRoot -> Rep GCRoot x)
-> (forall x. Rep GCRoot x -> GCRoot) -> Generic GCRoot
forall x. Rep GCRoot x -> GCRoot
forall x. GCRoot -> Rep GCRoot x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. GCRoot -> Rep GCRoot x
from :: forall x. GCRoot -> Rep GCRoot x
$cto :: forall x. Rep GCRoot x -> GCRoot
to :: forall x. Rep GCRoot x -> GCRoot
Generic, Eq GCRoot
Eq GCRoot =>
(GCRoot -> GCRoot -> Ordering)
-> (GCRoot -> GCRoot -> Bool)
-> (GCRoot -> GCRoot -> Bool)
-> (GCRoot -> GCRoot -> Bool)
-> (GCRoot -> GCRoot -> Bool)
-> (GCRoot -> GCRoot -> GCRoot)
-> (GCRoot -> GCRoot -> GCRoot)
-> Ord GCRoot
GCRoot -> GCRoot -> Bool
GCRoot -> GCRoot -> Ordering
GCRoot -> GCRoot -> GCRoot
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: GCRoot -> GCRoot -> Ordering
compare :: GCRoot -> GCRoot -> Ordering
$c< :: GCRoot -> GCRoot -> Bool
< :: GCRoot -> GCRoot -> Bool
$c<= :: GCRoot -> GCRoot -> Bool
<= :: GCRoot -> GCRoot -> Bool
$c> :: GCRoot -> GCRoot -> Bool
> :: GCRoot -> GCRoot -> Bool
$c>= :: GCRoot -> GCRoot -> Bool
>= :: GCRoot -> GCRoot -> Bool
$cmax :: GCRoot -> GCRoot -> GCRoot
max :: GCRoot -> GCRoot -> GCRoot
$cmin :: GCRoot -> GCRoot -> GCRoot
min :: GCRoot -> GCRoot -> GCRoot
Ord, Int -> GCRoot -> ShowS
[GCRoot] -> ShowS
GCRoot -> String
(Int -> GCRoot -> ShowS)
-> (GCRoot -> String) -> ([GCRoot] -> ShowS) -> Show GCRoot
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GCRoot -> ShowS
showsPrec :: Int -> GCRoot -> ShowS
$cshow :: GCRoot -> String
show :: GCRoot -> String
$cshowList :: [GCRoot] -> ShowS
showList :: [GCRoot] -> ShowS
Show)