| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
TahoeLAFS.Storage.API
Contents
Synopsis
- data Version = Version {}
- type Size = Integer
- type Offset = Integer
- type StorageIndex = String
- newtype ShareNumber = ShareNumber Integer
- shareNumber :: Integer -> Maybe ShareNumber
- toInteger :: ShareNumber -> Integer
- type ShareData = ByteString
- type ApplicationVersion = ByteString
- data Version1Parameters = Version1Parameters {}
- data AllocateBuckets = AllocateBuckets {
- renewSecret :: RenewSecret
- cancelSecret :: CancelSecret
- shareNumbers :: [ShareNumber]
- allocatedSize :: Size
- data AllocationResult = AllocationResult {
- alreadyHave :: [ShareNumber]
- allocated :: [ShareNumber]
- data TestWriteVectors = TestWriteVectors {
- test :: [TestVector]
- write :: [WriteVector]
- data WriteVector = WriteVector {}
- data ReadTestWriteVectors = ReadTestWriteVectors {}
- data ReadTestWriteResult = ReadTestWriteResult {
- success :: Bool
- readData :: ReadResult
- data ReadVectors
- data ReadVector
- type QueryRange = Maybe ByteRanges
- data TestVector = TestVector Offset Size TestOperator ShareData
- type ReadResult = Map ShareNumber [ShareData]
- newtype CorruptionDetails = CorruptionDetails String
- data SlotSecrets = SlotSecrets {
- writeEnabler :: WriteEnablerSecret
- leaseRenew :: LeaseRenewSecret
- leaseCancel :: LeaseCancelSecret
- data TestOperator
- type StorageAPI = "storage" :> ("v1" :> (GetVersion :<|> (RenewLease :<|> (CreateImmutableStorageIndex :<|> (WriteImmutableShareData :<|> (ReadImmutableShareData :<|> (("immutable" :> GetShareNumbers) :<|> (("immutable" :> AdviseCorrupt) :<|> (ReadTestWrite :<|> (ReadMutableShareData :<|> (("mutable" :> GetShareNumbers) :<|> ("mutable" :> AdviseCorrupt))))))))))))
- data LeaseSecret
- api :: Proxy StorageAPI
- renewSecretLength :: Num a => a
- writeEnablerSecretLength :: Num a => a
- leaseRenewSecretLength :: Num a => a
- leaseCancelSecretLength :: Num a => a
- data CBOR
- newtype CBORSet a = CBORSet {
- getCBORSet :: Set a
Documentation
Constructors
| Version | |
Instances
| Eq Version Source # | |
| Show Version Source # | |
| Generic Version Source # | |
| ToJSON Version Source # | |
Defined in TahoeLAFS.Storage.API | |
| FromJSON Version Source # | |
| Serialise Version Source # | |
| ToSample Version Source # | |
| type Rep Version Source # | |
Defined in TahoeLAFS.Storage.API type Rep Version = D1 ('MetaData "Version" "TahoeLAFS.Storage.API" "tahoe-great-black-swamp-0.3.1.0-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))) | |
type StorageIndex = String Source #
shareNumber :: Integer -> Maybe ShareNumber Source #
toInteger :: ShareNumber -> Integer Source #
type ShareData = ByteString Source #
type ApplicationVersion = ByteString Source #
data Version1Parameters Source #
Constructors
| Version1Parameters | |
Fields | |
Instances
data AllocateBuckets Source #
Constructors
| AllocateBuckets | |
Fields
| |
Instances
data AllocationResult Source #
Constructors
| AllocationResult | |
Fields
| |
Instances
data TestWriteVectors Source #
Constructors
| TestWriteVectors | |
Fields
| |
Instances
data WriteVector Source #
Constructors
| WriteVector | |
Fields
| |
Instances
data ReadTestWriteVectors Source #
Constructors
| ReadTestWriteVectors | |
Fields | |
Instances
data ReadTestWriteResult Source #
Constructors
| ReadTestWriteResult | |
Fields
| |
Instances
data ReadVectors Source #
Instances
data ReadVector Source #
Instances
type QueryRange = Maybe ByteRanges Source #
data TestVector Source #
Constructors
| TestVector Offset Size TestOperator ShareData |
Instances
type ReadResult = Map ShareNumber [ShareData] Source #
newtype CorruptionDetails Source #
Constructors
| CorruptionDetails String |
Instances
data SlotSecrets Source #
Constructors
| SlotSecrets | |
Fields
| |
Instances
| Eq SlotSecrets Source # | |
Defined in TahoeLAFS.Storage.API | |
| Show SlotSecrets Source # | |
Defined in TahoeLAFS.Storage.API Methods showsPrec :: Int -> SlotSecrets -> ShowS # show :: SlotSecrets -> String # showList :: [SlotSecrets] -> ShowS # | |
| Generic SlotSecrets Source # | |
Defined in TahoeLAFS.Storage.API Associated Types type Rep SlotSecrets :: Type -> Type # | |
| ToJSON SlotSecrets Source # | |
Defined in TahoeLAFS.Storage.API Methods toJSON :: SlotSecrets -> Value # toEncoding :: SlotSecrets -> Encoding # toJSONList :: [SlotSecrets] -> Value # toEncodingList :: [SlotSecrets] -> Encoding # | |
| FromJSON SlotSecrets Source # | |
Defined in TahoeLAFS.Storage.API | |
| Serialise SlotSecrets Source # | |
Defined in TahoeLAFS.Storage.API Methods encode :: SlotSecrets -> Encoding # decode :: Decoder s SlotSecrets # encodeList :: [SlotSecrets] -> Encoding # decodeList :: Decoder s [SlotSecrets] # | |
| type Rep SlotSecrets Source # | |
Defined in TahoeLAFS.Storage.API | |
data TestOperator Source #
Instances
type StorageAPI = "storage" :> ("v1" :> (GetVersion :<|> (RenewLease :<|> (CreateImmutableStorageIndex :<|> (WriteImmutableShareData :<|> (ReadImmutableShareData :<|> (("immutable" :> GetShareNumbers) :<|> (("immutable" :> AdviseCorrupt) :<|> (ReadTestWrite :<|> (ReadMutableShareData :<|> (("mutable" :> GetShareNumbers) :<|> ("mutable" :> AdviseCorrupt)))))))))))) Source #
data LeaseSecret Source #
Constructors
| Renew ByteString | |
| Cancel ByteString | |
| Upload ByteString | |
| Write ByteString |
Instances
| ToHttpApiData LeaseSecret Source # | |
Defined in TahoeLAFS.Storage.API Methods toUrlPiece :: LeaseSecret -> Text # toEncodedUrlPiece :: LeaseSecret -> Builder # toHeader :: LeaseSecret -> ByteString # toQueryParam :: LeaseSecret -> Text # | |
| FromHttpApiData LeaseSecret Source # | |
Defined in TahoeLAFS.Storage.API Methods parseUrlPiece :: Text -> Either Text LeaseSecret # parseHeader :: ByteString -> Either Text LeaseSecret # parseQueryParam :: Text -> Either Text LeaseSecret # | |
| ToHttpApiData [LeaseSecret] Source # | |
Defined in TahoeLAFS.Storage.API Methods toUrlPiece :: [LeaseSecret] -> Text # toEncodedUrlPiece :: [LeaseSecret] -> Builder # toHeader :: [LeaseSecret] -> ByteString # toQueryParam :: [LeaseSecret] -> Text # | |
| FromHttpApiData [LeaseSecret] Source # | |
Defined in TahoeLAFS.Storage.API Methods parseUrlPiece :: Text -> Either Text [LeaseSecret] # parseHeader :: ByteString -> Either Text [LeaseSecret] # parseQueryParam :: Text -> Either Text [LeaseSecret] # | |
api :: Proxy StorageAPI Source #
renewSecretLength :: Num a => a Source #
writeEnablerSecretLength :: Num a => a Source #
leaseRenewSecretLength :: Num a => a Source #
leaseCancelSecretLength :: Num a => a Source #
Instances
| Accept CBOR Source # | |
Defined in TahoeLAFS.Internal.ServantUtil | |
| Serialise a => MimeRender CBOR a Source # | |
Defined in TahoeLAFS.Internal.ServantUtil Methods mimeRender :: Proxy CBOR -> a -> ByteString # | |
| Serialise a => MimeUnrender CBOR a Source # | |
Defined in TahoeLAFS.Internal.ServantUtil Methods mimeUnrender :: Proxy CBOR -> ByteString -> Either String a # mimeUnrenderWithType :: Proxy CBOR -> MediaType -> ByteString -> Either String a # | |
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
| Eq a => Eq (CBORSet a) Source # | |
| Show a => Show (CBORSet a) Source # | |
| ToJSON a => ToJSON (CBORSet a) Source # | |
Defined in TahoeLAFS.Storage.API | |
| (Ord a, FromJSON a) => FromJSON (CBORSet a) Source # | |
| (Serialise a, Ord a) => Serialise (CBORSet a) Source # | Define serialisation for CBORSets in a way that is compatible with GBS. |
Orphan instances
| ToHttpApiData ByteRanges Source # | |
Methods toUrlPiece :: ByteRanges -> Text # toEncodedUrlPiece :: ByteRanges -> Builder # toHeader :: ByteRanges -> ByteString # toQueryParam :: ByteRanges -> Text # | |
| FromHttpApiData ByteRanges Source # | |
Methods parseUrlPiece :: Text -> Either Text ByteRanges # parseHeader :: ByteString -> Either Text ByteRanges # parseQueryParam :: Text -> Either Text ByteRanges # | |