meejah
a867294e00
dead
2021-11-16 15:08:31 -07:00
meejah
75410e51f0
refactor
2021-11-16 15:08:31 -07:00
meejah
d4fc14f9ad
docstring
2021-11-16 15:08:31 -07:00
meejah
89c2aacadc
working test of 'in the wild' data, working converters
2021-11-16 15:08:31 -07:00
meejah
f81e4e2d25
refactor to use serializers / pickle->json upgraders
2021-11-16 15:08:31 -07:00
meejah
bb70e00065
Make internal state JSON-able for lease-crawler
2021-11-16 15:08:31 -07:00
meejah
f7b385f954
play nice with subclasses
2021-11-16 15:08:31 -07:00
meejah
3b69df36b0
crawler: pickle -> json
2021-11-16 15:08:31 -07:00
Itamar Turner-Trauring
f549488bb5
Don't use a deprecated API.
2021-11-16 11:47:09 -05:00
Itamar Turner-Trauring
a64778ddb0
Flakes.
2021-11-16 11:28:13 -05:00
Itamar Turner-Trauring
c195f895db
Python 2 support.
2021-11-16 11:16:26 -05:00
Itamar Turner-Trauring
171d1053ec
CBOR content-type on responses.
2021-11-16 11:09:17 -05:00
Itamar Turner-Trauring
671b670154
Some type annotations.
2021-11-16 11:09:08 -05:00
Itamar Turner-Trauring
41ec63f758
Passing first tests.
2021-11-16 10:56:21 -05:00
Jean-Paul Calderone
84c19f5468
clarify renew_leases docs on slot_testv_and_readv_and_writev
2021-11-15 08:12:07 -05:00
Jean-Paul Calderone
ad6017e63d
clarify renew_leases docs on allocate_buckets
2021-11-15 08:11:53 -05:00
Jean-Paul Calderone
85977e48a7
put this comment back and merge info from the two versions
2021-11-12 16:23:15 -05:00
Jean-Paul Calderone
c3cb0ebaea
Switch to per-call parameter for controlling lease renewal behavior
...
This is closer to an implementation where you could have two frontends, say a
Foolscap frontend and an HTTP frontend or even just two different HTTP
frontends, which had different opinions about what the behaviour should be.
2021-11-12 16:20:27 -05:00
Itamar Turner-Trauring
c101dd4dc9
Closer to first passing test.
2021-11-12 13:13:19 -05:00
Itamar Turner-Trauring
ddd2780bd2
First sketch of HTTP client.
2021-11-12 12:51:52 -05:00
Itamar Turner-Trauring
a32c6be978
A sketch of what the HTTP server will look like.
2021-11-12 12:02:58 -05:00
Jean-Paul Calderone
2742de6f7c
drop some ancient cruft
...
allocated_size not used anywhere, so why have it
2021-11-10 16:08:53 -05:00
Jean-Paul Calderone
9af81d21c5
add a way to turn off implicit bucket lease renewal too
2021-11-10 16:08:40 -05:00
Jean-Paul Calderone
617a1eac9d
refactor lease hashing logic to avoid mutable/immutable duplication
2021-11-05 15:30:49 -04:00
Jean-Paul Calderone
456df65a07
Add v2 of the mutable container schema
...
It uses hashed lease secrets, like v2 of the immutable container schema.
2021-11-05 14:16:43 -04:00
Jean-Paul Calderone
3de9c73b0b
preserve the type when renewing HashedLeaseInfo
...
does this mean immutable lease renewal is untested? maybe
2021-11-05 14:11:05 -04:00
Jean-Paul Calderone
5d703d9893
some type annotations
2021-11-05 14:10:27 -04:00
Jean-Paul Calderone
0cd96ed713
fix the debug tool for the hashed lease secret case
2021-11-05 14:09:46 -04:00
Jean-Paul Calderone
931ddf85a5
introduce an explicit representation of the v1 mutable container schema
...
This is only a partial representation, sufficient to express the changes that
are coming in v2.
2021-11-04 15:26:58 -04:00
Jean-Paul Calderone
2186bfcc37
silence some mypy errors :/
...
I don't know the "right" way to make mypy happy with these things
2021-11-04 14:40:43 -04:00
Jean-Paul Calderone
6889ab2a76
fix syntax of type hint
2021-11-04 14:16:55 -04:00
Jean-Paul Calderone
7a59aa83bb
add missing import
2021-11-04 14:12:54 -04:00
Jean-Paul Calderone
b69e8d013b
introduce immutable container schema version 2
...
This version used on-disk hashed secrets to reduce the chance of secrets
leaking to unintended parties.
2021-11-04 14:07:49 -04:00
Jean-Paul Calderone
234b8dcde2
Formalize LeaseInfo interface in preparation for another implementation
2021-11-04 12:07:24 -04:00
Jean-Paul Calderone
10724a91f9
introduce an explicit representation of the v1 immutable container schema
...
This is only a partial representation, sufficient to express the changes that
are coming in v2.
2021-11-04 10:17:36 -04:00
Jean-Paul Calderone
274dc6e837
Introduce UnknownContainerVersionError
base w/ structured args
2021-11-04 10:06:26 -04:00
Jean-Paul Calderone
a71b1d31bf
Merge remote-tracking branch 'upstream/master'
2021-11-04 10:02:54 -04:00
Jean-Paul Calderone
7335b2a597
remove unused import
2021-11-03 13:16:15 -04:00
Jean-Paul Calderone
b5f882ffa6
introduce and use LeaseInfo.is_cancel_secret
2021-10-28 15:21:51 -04:00
Jean-Paul Calderone
8b976b441e
add LeaseInfo.is_renew_secret and use it
2021-10-28 15:21:51 -04:00
Jean-Paul Calderone
78dbe76994
remove unused import
2021-10-28 15:20:44 -04:00
Jean-Paul Calderone
1b46ac7a24
add MutableShareFile.is_valid_header and use it
2021-10-28 11:38:18 -04:00
Jean-Paul Calderone
66845c9a17
Add ShareFile.is_valid_header and use it instead of manual header inspection
2021-10-28 11:12:20 -04:00
Jean-Paul Calderone
65d3ab6142
move backdating logic into mutable/immutable share files
2021-10-28 10:53:52 -04:00
Jean-Paul Calderone
3514995068
some versions of mypy don't like this so nevermind
2021-10-28 10:26:30 -04:00
Jean-Paul Calderone
76caf46347
make the alternate LeaseInfo constructors into class methods
2021-10-28 10:23:58 -04:00
Jean-Paul Calderone
70fb5d563a
Get rid of the public expiration_time attribute
...
LeaseInfo now has a getter and a setter for this attribute.
LeaseInfo is now also immutable by way of `attrs`.
LeaseInfo is now also comparable by way of `attrs`.
2021-10-28 09:48:26 -04:00
Jean-Paul Calderone
470657b337
Drop corruption advisories if we don't have a matching share
2021-10-23 07:35:05 -04:00
Jean-Paul Calderone
194499aafe
remove unused import
2021-10-22 16:09:54 -04:00
Jean-Paul Calderone
6449ad03de
Do not record corruption advisories if there is no available space
2021-10-22 15:56:45 -04:00