* feat: save list metadata to p2p
* chore: optimize rpc download worker logic
* feat: add expire header reclaim logic
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* feat: support split running tasks
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* fix: go tests
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: add split runnging tasks e2e config
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* fix: actions
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* fix: actions
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: optimize get running tasks logic
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: optimize get running tasks logic
Signed-off-by: Jim Ma <majinjing3@gmail.com>
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* feat: update namely/protoc-all image version to 1.47_0
Signed-off-by: Gaius <gaius.qi@gmail.com>
* feat: generate mock file
Signed-off-by: Gaius <gaius.qi@gmail.com>
fix: seed peer did not send done seed result
fix: unknown length back source seed did not send content length to other peers
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* feat: support response header via ExtendAttribute
* chore: update http pass through header
* chore: update ExtendAttribute in cdn downloader
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: add sync pieces trace
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: when task is done, sync piece tasks will still receive remote request
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* fix: go context lint
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* Update client/daemon/rpcserver/rpcserver.go
Co-authored-by: cndoit18 <cndoit18@outlook.com>
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: record close send error
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: clean PeerPacket when peer task completed
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: optimize sync piece completed check
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: fix go lint
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* chore: update sync piece test
Signed-off-by: Jim Ma <majinjing3@gmail.com>
Co-authored-by: cndoit18 <cndoit18@outlook.com>
Introduce a new dfcache command which uses dfcache SDK interface to
interactive with dfdaemon and operate on P2P cache system.
For example:
- add a file into cache system
dfcache import --cid sha256:xxxxxx --tag testtag /path/to/file
- check if a file exists in cache system
dfcache stat --cid testid --local # only check local cache
dfcache stat --cid testid # check other peers as well
- export/download a file from cache system
dfcache export --cid testid -O /path/to/output
- delete a file from cache system, both local cache and P2P network
dfcache delete -i testid -t testtag
Signed-off-by: Gaius <gaius.qi@gmail.com>
Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>
Co-authored-by: Jim Ma <majinjing3@gmail.com>
Co-authored-by: Gaius <gaius.qi@gmail.com>
* feat: add grpc health interface
Signed-off-by: Gaius <gaius.qi@gmail.com>
* feat: add dfdaemon upload server healthy interface
Signed-off-by: Gaius <gaius.qi@gmail.com>
1. Rename FilePeerTask to FileTask.
2. Rename StreamPeerTask to StreamTask.
3. Extract pulling piece task logic to pieceTaskPoller.
Signed-off-by: Jim Ma <majinjing3@gmail.com>
* feat: merge same tasks in daemon
* test: add tiny file test in daemon
* fix: when validate digest disabled, did not store metadata
Signed-off-by: Jim Ma <majinjing3@gmail.com>