implement remove-before
authorJoey Hess <joeyh@joeyh.name>
Wed, 10 Jul 2024 14:03:26 +0000 (10:03 -0400)
committerJoey Hess <joeyh@joeyh.name>
Wed, 10 Jul 2024 14:03:26 +0000 (10:03 -0400)
commit7c588a5791c5f8cf90ffcd14b3b2c01b93c60c43
tree33a655b82d33a4e592a30ffc035cc583da067b61
parente9cba0a580b74c5aa5f7a7a8940afe0081ea8765
implement remove-before

The reason to use removeBeforeRemoteEndTime is twofold.

First, removeBefore sends two protocol commands. Currently, the HTTP
protocol runner only supports sending a single command per invocation.

Secondly, the http server gets a monotonic timestamp from the client. So
translating back to a POSIXTime would be annoying.

The timestamp flow with a proxy will be:

- client gets timestamp, which gets the monotonic timestamp from the
  proxied remote via the proxy. The timestamp is currently not
  proxied when there is a single proxy.
- client calls remove-before
- http server calls removeBeforeRemoteEndTime which sends REMOVE-BEFORE
  to the proxied remote.
Command/P2PHttp.hs
P2P/Http.hs
P2P/Protocol.hs
doc/design/p2p_protocol_over_http/draft1.mdwn