tahoe-great-black-swamp-0.4.0.1: An implementation of the "Great Black Swamp" LAFS protocol.
Safe HaskellNone
LanguageHaskell2010

TahoeLAFS.Storage.API

Synopsis

Documentation

data Version Source #

Instances

Instances details
Eq Version Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Methods

(==) :: Version -> Version -> Bool #

(/=) :: Version -> Version -> Bool #

Show Version Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic Version Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep Version :: Type -> Type #

Methods

from :: Version -> Rep Version x #

to :: Rep Version x -> Version #

ToJSON Version Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON Version Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise Version Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToSample Version Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

Methods

toSamples :: Proxy Version -> [(Text, Version)] #

type Rep Version Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep Version = D1 ('MetaData "Version" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "Version" 'PrefixI 'True) (S1 ('MetaSel ('Just "parameters") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Version1Parameters) :*: S1 ('MetaSel ('Just "applicationVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ApplicationVersion)))

newtype ShareNumber Source #

Constructors

ShareNumber Integer 

Instances

Instances details
Eq ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Ord ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep ShareNumber :: Type -> Type #

ToJSON ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToJSONKey ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSONKey ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToHttpApiData ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromHttpApiData ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToSample ReadResult Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

ToSample ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

ToParam (QueryParams "share_number" ShareNumber) Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

Methods

toParam :: Proxy (QueryParams "share_number" ShareNumber) -> DocQueryParam #

ToCapture (Capture "share_number" ShareNumber) Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

Methods

toCapture :: Proxy (Capture "share_number" ShareNumber) -> DocCapture #

type Rep ShareNumber Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep ShareNumber = D1 ('MetaData "ShareNumber" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'True) (C1 ('MetaCons "ShareNumber" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

data Version1Parameters Source #

Instances

Instances details
Eq Version1Parameters Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show Version1Parameters Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic Version1Parameters Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep Version1Parameters :: Type -> Type #

ToJSON Version1Parameters Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON Version1Parameters Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise Version1Parameters Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep Version1Parameters Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep Version1Parameters = D1 ('MetaData "Version1Parameters" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "Version1Parameters" 'PrefixI 'True) (S1 ('MetaSel ('Just "maximumImmutableShareSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Size) :*: (S1 ('MetaSel ('Just "maximumMutableShareSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Size) :*: S1 ('MetaSel ('Just "availableSpace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Size))))

data AllocateBuckets Source #

Instances

Instances details
Eq AllocateBuckets Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show AllocateBuckets Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic AllocateBuckets Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep AllocateBuckets :: Type -> Type #

ToJSON AllocateBuckets Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON AllocateBuckets Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise AllocateBuckets Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToSample AllocateBuckets Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

type Rep AllocateBuckets Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep AllocateBuckets = D1 ('MetaData "AllocateBuckets" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "AllocateBuckets" 'PrefixI 'True) (S1 ('MetaSel ('Just "shareNumbers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ShareNumber]) :*: S1 ('MetaSel ('Just "allocatedSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Size)))

data AllocationResult Source #

Instances

Instances details
Eq AllocationResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show AllocationResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic AllocationResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep AllocationResult :: Type -> Type #

ToJSON AllocationResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON AllocationResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise AllocationResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToSample AllocationResult Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

type Rep AllocationResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep AllocationResult = D1 ('MetaData "AllocationResult" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "AllocationResult" 'PrefixI 'True) (S1 ('MetaSel ('Just "alreadyHave") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ShareNumber]) :*: S1 ('MetaSel ('Just "allocated") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ShareNumber])))

data TestWriteVectors Source #

Instances

Instances details
Eq TestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show TestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic TestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep TestWriteVectors :: Type -> Type #

Semigroup TestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Monoid TestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToJSON TestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON TestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise TestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep TestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep TestWriteVectors = D1 ('MetaData "TestWriteVectors" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "TestWriteVectors" 'PrefixI 'True) (S1 ('MetaSel ('Just "test") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TestVector]) :*: (S1 ('MetaSel ('Just "write") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [WriteVector]) :*: S1 ('MetaSel ('Just "newLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer)))))

data WriteVector Source #

Constructors

WriteVector 

Instances

Instances details
Eq WriteVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show WriteVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic WriteVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep WriteVector :: Type -> Type #

ToJSON WriteVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON WriteVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise WriteVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep WriteVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep WriteVector = D1 ('MetaData "WriteVector" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "WriteVector" 'PrefixI 'True) (S1 ('MetaSel ('Just "writeOffset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Offset) :*: S1 ('MetaSel ('Just "shareData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ShareData)))

data ReadTestWriteVectors Source #

Instances

Instances details
Eq ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep ReadTestWriteVectors :: Type -> Type #

Semigroup ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Monoid ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToJSON ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToSample ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

type Rep ReadTestWriteVectors Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep ReadTestWriteVectors = D1 ('MetaData "ReadTestWriteVectors" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "ReadTestWriteVectors" 'PrefixI 'True) (S1 ('MetaSel ('Just "testWriteVectors") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map ShareNumber TestWriteVectors)) :*: S1 ('MetaSel ('Just "readVector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ReadVector])))

data ReadTestWriteResult Source #

Constructors

ReadTestWriteResult 

Instances

Instances details
Eq ReadTestWriteResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show ReadTestWriteResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic ReadTestWriteResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep ReadTestWriteResult :: Type -> Type #

ToJSON ReadTestWriteResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON ReadTestWriteResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise ReadTestWriteResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToSample ReadTestWriteResult Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

type Rep ReadTestWriteResult Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep ReadTestWriteResult = D1 ('MetaData "ReadTestWriteResult" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "ReadTestWriteResult" 'PrefixI 'True) (S1 ('MetaSel ('Just "success") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "readData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ReadResult)))

data ReadVector Source #

Constructors

ReadVector 

Fields

Instances

Instances details
Eq ReadVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show ReadVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic ReadVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep ReadVector :: Type -> Type #

ToJSON ReadVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON ReadVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise ReadVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep ReadVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep ReadVector = D1 ('MetaData "ReadVector" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "ReadVector" 'PrefixI 'True) (S1 ('MetaSel ('Just "offset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Offset) :*: S1 ('MetaSel ('Just "readSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Size)))

data TestVector Source #

Instances

Instances details
Eq TestVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show TestVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic TestVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep TestVector :: Type -> Type #

ToJSON TestVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON TestVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise TestVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep TestVector Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep TestVector = D1 ('MetaData "TestVector" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) (C1 ('MetaCons "TestVector" 'PrefixI 'True) ((S1 ('MetaSel ('Just "testOffset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Offset) :*: S1 ('MetaSel ('Just "testSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Size)) :*: (S1 ('MetaSel ('Just "operator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TestOperator) :*: S1 ('MetaSel ('Just "specimen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ShareData))))

newtype CorruptionDetails Source #

Constructors

CorruptionDetails 

Fields

Instances

Instances details
Eq CorruptionDetails Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show CorruptionDetails Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic CorruptionDetails Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep CorruptionDetails :: Type -> Type #

ToJSON CorruptionDetails Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON CorruptionDetails Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise CorruptionDetails Source # 
Instance details

Defined in TahoeLAFS.Storage.API

ToSample CorruptionDetails Source # 
Instance details

Defined in TahoeLAFS.Storage.APIDocs

type Rep CorruptionDetails Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep CorruptionDetails = D1 ('MetaData "CorruptionDetails" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'True) (C1 ('MetaCons "CorruptionDetails" 'PrefixI 'True) (S1 ('MetaSel ('Just "reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

data TestOperator Source #

Constructors

Lt 
Le 
Eq 
Ne 
Ge 
Gt 

Instances

Instances details
Eq TestOperator Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Show TestOperator Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Generic TestOperator Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Associated Types

type Rep TestOperator :: Type -> Type #

ToJSON TestOperator Source # 
Instance details

Defined in TahoeLAFS.Storage.API

FromJSON TestOperator Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Serialise TestOperator Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep TestOperator Source # 
Instance details

Defined in TahoeLAFS.Storage.API

type Rep TestOperator = D1 ('MetaData "TestOperator" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.4.0.1-inplace" 'False) ((C1 ('MetaCons "Lt" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Le" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Eq" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Ne" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Ge" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gt" 'PrefixI 'False) (U1 :: Type -> Type))))

type StorageAPI = "storage" :> ("v1" :> (GetVersion :<|> (RenewLease :<|> (CreateImmutableStorageIndex :<|> (WriteImmutableShareData :<|> (AbortImmutableUpload :<|> (ReadImmutableShareData :<|> (("immutable" :> GetShareNumbers) :<|> (("immutable" :> AdviseCorrupt) :<|> (ReadTestWrite :<|> (ReadMutableShareData :<|> (("mutable" :> GetShareNumbers) :<|> ("mutable" :> AdviseCorrupt))))))))))))) Source #

newtype CBORSet a Source #

A new type for which we can define our own CBOR serialisation rules. The cborg library provides a Serialise instance for Set which is not compatible with the representation required by Tahoe-LAFS.

Constructors

CBORSet 

Fields

Instances

Instances details
Eq a => Eq (CBORSet a) Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Methods

(==) :: CBORSet a -> CBORSet a -> Bool #

(/=) :: CBORSet a -> CBORSet a -> Bool #

Show a => Show (CBORSet a) Source # 
Instance details

Defined in TahoeLAFS.Storage.API

Methods

showsPrec :: Int -> CBORSet a -> ShowS #

show :: CBORSet a -> String #

showList :: [CBORSet a] -> ShowS #

ToJSON a => ToJSON (CBORSet a) Source # 
Instance details

Defined in TahoeLAFS.Storage.API

(Ord a, FromJSON a) => FromJSON (CBORSet a) Source # 
Instance details

Defined in TahoeLAFS.Storage.API

(Serialise a, Ord a) => Serialise (CBORSet a) Source #

Define serialisation for CBORSets in a way that is compatible with GBS.

Instance details

Defined in TahoeLAFS.Storage.API

Orphan instances