Commit Graph

14091 Commits

Author SHA1 Message Date
Itamar Turner-Trauring
d85b20b62d Fix lint. 2022-07-20 12:47:18 -04:00
Itamar Turner-Trauring
da8a36fac9 Improve test coverage. 2022-07-20 12:07:46 -04:00
Itamar Turner-Trauring
92392501a7 Expand spec. 2022-07-20 11:47:15 -04:00
Itamar Turner-Trauring
69739f5f9b Handle case where requested range results in empty response. 2022-07-20 11:42:01 -04:00
Itamar Turner-Trauring
43c6af6fde More error handling for edge cases. 2022-07-20 11:28:14 -04:00
Itamar Turner-Trauring
1b8b71b306 Content-Range headers are now checked (somewhat) and the server now sends
correct headers when reading beyond the end.
2022-07-19 16:10:22 -04:00
Itamar Turner-Trauring
b3aff5c43b More efficient implementations. 2022-07-19 14:37:46 -04:00
Itamar Turner-Trauring
49dfc8445c Implementation of getting length of shares (albeit inefficiently for now). 2022-07-18 14:12:12 -04:00
Itamar Turner-Trauring
69f90e6336
Merge pull request #1203 from tahoe-lafs/3872-resource-limits-http-storage
A variety of CPU and memory resource limits for the HTTP storage client and server

Fixes ticket:3872
2022-07-15 12:44:08 -04:00
Itamar Turner-Trauring
a24aefaebf There can be up to 256 shares. 2022-07-15 11:35:28 -04:00
Itamar Turner-Trauring
87932e3444 Correct type. 2022-07-06 09:50:16 -04:00
Itamar Turner-Trauring
0b5132745d A nicer interface. 2022-07-06 09:47:08 -04:00
Itamar Turner-Trauring
fd8a385d1d Reformat with black. 2022-07-06 09:46:59 -04:00
Itamar Turner-Trauring
dac0080ea2 Make sure we update remaining length, and update test to catch the edge case
this fixes.
2022-07-06 09:40:46 -04:00
Itamar Turner-Trauring
5c5556d915 More robust usage. 2022-07-06 09:38:31 -04:00
Itamar Turner-Trauring
69c4dbf2b5 Fix tests and point to future work. 2022-07-05 17:17:38 -04:00
Itamar Turner-Trauring
6e3ca256b9 Some refactoring to handle edge cases better, in progress. 2022-07-05 15:36:21 -04:00
Itamar Turner-Trauring
3270d24c45 Slight simplification. 2022-07-05 11:30:48 -04:00
Itamar Turner-Trauring
1e6864ac01 Typo. 2022-07-05 11:30:01 -04:00
Itamar Turner-Trauring
97d0ba23eb Switch to hypothesis-based test. 2022-07-05 11:21:46 -04:00
Itamar Turner-Trauring
249f431849 Use MonkeyPatch instead of MockPatch, since we're not mocking. 2022-07-05 11:14:52 -04:00
Itamar Turner-Trauring
f2acf71998 Document next steps: NURL generation. 2022-06-30 15:58:52 -04:00
Itamar Turner-Trauring
70dfc44841 Fix for 3905. 2022-06-30 15:45:30 -04:00
Itamar Turner-Trauring
3db6080f6d Make the factories a class-level attribute. 2022-06-30 15:18:22 -04:00
Itamar Turner-Trauring
1798966f03 Store the tub on the subclass, since we'll want it (or rather its Listeners) for
NURL construction.
2022-06-30 14:53:37 -04:00
Itamar Turner-Trauring
03d9ff395c News file. 2022-06-30 14:31:43 -04:00
Itamar Turner-Trauring
d1bdce9682 A nicer API. 2022-06-30 14:26:36 -04:00
Itamar Turner-Trauring
03c515191e Better docs. 2022-06-30 14:21:43 -04:00
Itamar Turner-Trauring
451e68795c Lints, better explanation. 2022-06-30 13:54:58 -04:00
Itamar Turner-Trauring
bee46fae93 Resource limits on the client side. 2022-06-30 13:48:33 -04:00
Itamar Turner-Trauring
ab80c0f0a1 Set some length limits on various queries lengths. 2022-06-30 13:35:30 -04:00
Itamar Turner-Trauring
0e8f2aa702 More memory usage reductions. 2022-06-29 13:58:05 -04:00
Itamar Turner-Trauring
520456bdc0 Add streaming to CBOR results. 2022-06-29 11:26:25 -04:00
Itamar Turner-Trauring
efe9575d28 Nicer testing infrastructure so you don't have to switch back and forth between
sync and async test APIs.
2022-06-29 11:25:28 -04:00
Itamar Turner-Trauring
75f33022cd News file. 2022-06-27 17:00:41 -04:00
Itamar Turner-Trauring
6dd2b2d583 More streaming, with tests passing again. 2022-06-27 17:00:24 -04:00
Itamar Turner-Trauring
06eca79263 Minimal streaming implementation. 2022-06-27 14:12:17 -04:00
Itamar Turner-Trauring
bfd54dc6ea Switch to newer attrs API, for consistency across the module. 2022-06-27 11:30:49 -04:00
Itamar Turner-Trauring
1154371d22 Clarifying comments. 2022-06-23 12:51:07 -04:00
Itamar Turner-Trauring
01d8cc7ab6 Put the attribute on the correct object. 2022-06-23 12:49:07 -04:00
Itamar Turner-Trauring
eb1e48bcc3 Add a timeout. 2022-06-23 12:47:33 -04:00
Itamar Turner-Trauring
0c99a9f7b0 Make it more accurate. 2022-06-23 12:44:17 -04:00
Itamar Turner-Trauring
d70f583172 More cleanups. 2022-06-23 12:43:46 -04:00
Itamar Turner-Trauring
026d63cd6a Fix some mypy warnings. 2022-06-23 12:41:47 -04:00
Itamar Turner-Trauring
d86f8519dc Simplify implementation. 2022-06-23 12:41:01 -04:00
Itamar Turner-Trauring
04156db74e Delay Negotiation.connectionMade so we don't create unnecessary timeouts. 2022-06-23 12:32:43 -04:00
Itamar Turner-Trauring
1579530895 Add working HTTP support. 2022-06-23 07:59:43 -04:00
Itamar Turner-Trauring
c5724c1d0a Clarify. 2022-06-22 14:20:42 -04:00
Itamar Turner-Trauring
7577d1e24c Sketch of HTTP support, still untested WIP. 2022-06-22 14:19:29 -04:00
Itamar Turner-Trauring
7910867be6 It actually works(?!) now. 2022-06-22 10:23:23 -04:00