Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
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 #
Instances
data AllocateBuckets Source #
AllocateBuckets | |
|
Instances
data AllocationResult Source #
Instances
data TestWriteVectors Source #
TestWriteVectors | |
|
Instances
data WriteVector Source #
Instances
data ReadTestWriteVectors Source #
Instances
data ReadTestWriteResult Source #
Instances
data ReadVectors Source #
Instances
data ReadVector Source #
Instances
type QueryRange = Maybe ByteRanges Source #
data TestVector Source #
Instances
type ReadResult = Map ShareNumber [ShareData] Source #
newtype CorruptionDetails Source #
Instances
data SlotSecrets Source #
SlotSecrets | |
|
Instances
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 #
Instances
ToHttpApiData LeaseSecret Source # | |
Defined in TahoeLAFS.Storage.API toUrlPiece :: LeaseSecret -> Text # toEncodedUrlPiece :: LeaseSecret -> Builder # toHeader :: LeaseSecret -> ByteString # toQueryParam :: LeaseSecret -> Text # | |
FromHttpApiData LeaseSecret Source # | |
Defined in TahoeLAFS.Storage.API parseUrlPiece :: Text -> Either Text LeaseSecret # parseHeader :: ByteString -> Either Text LeaseSecret # parseQueryParam :: Text -> Either Text LeaseSecret # | |
ToHttpApiData [LeaseSecret] Source # | |
Defined in TahoeLAFS.Storage.API toUrlPiece :: [LeaseSecret] -> Text # toEncodedUrlPiece :: [LeaseSecret] -> Builder # toHeader :: [LeaseSecret] -> ByteString # toQueryParam :: [LeaseSecret] -> Text # | |
FromHttpApiData [LeaseSecret] Source # | |
Defined in TahoeLAFS.Storage.API 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 mimeRender :: Proxy CBOR -> a -> ByteString # | |
Serialise a => MimeUnrender CBOR a Source # | |
Defined in TahoeLAFS.Internal.ServantUtil 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.
CBORSet | |
|
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 # | |
toUrlPiece :: ByteRanges -> Text # toEncodedUrlPiece :: ByteRanges -> Builder # toHeader :: ByteRanges -> ByteString # toQueryParam :: ByteRanges -> Text # | |
FromHttpApiData ByteRanges Source # | |
parseUrlPiece :: Text -> Either Text ByteRanges # parseHeader :: ByteString -> Either Text ByteRanges # parseQueryParam :: Text -> Either Text ByteRanges # |