mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-06 02:52:19 +00:00
14f53eefaf
* Remove interfaces for replacement * Squashed 'interfaces/' content from commit cb09f4f git-subtree-dir: interfaces git-subtree-split: cb09f4fd4eb9caccf7ece5b5ba05b380a4ce9e33 * save * save * Squashed 'interfaces/' content from commit f4847ba git-subtree-dir: interfaces git-subtree-split: f4847baccf2c5e35e955f14cbee428f90111dfbf * save * save * Squashed 'interfaces/' content from commit 17196d5 git-subtree-dir: interfaces git-subtree-split: 17196d54cff8233b1c0c5eadc2f806ac260c2e9d * save
47 lines
1.1 KiB
Protocol Buffer
47 lines
1.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
import "google/protobuf/empty.proto";
|
|
import "types/types.proto";
|
|
|
|
option go_package = "./downloader;downloader";
|
|
|
|
package downloader;
|
|
|
|
service Downloader {
|
|
rpc Download (DownloadRequest) returns (google.protobuf.Empty) {}
|
|
rpc Stats (StatsRequest) returns (StatsReply) {}
|
|
}
|
|
|
|
message DownloadItem {
|
|
string path = 1;
|
|
types.H160 torrent_hash = 2; // single hash will be resolved as magnet link
|
|
}
|
|
message DownloadRequest {
|
|
repeated DownloadItem items = 1; // single hash will be resolved as magnet link
|
|
}
|
|
|
|
|
|
message StatsRequest {
|
|
}
|
|
|
|
message StatsReply {
|
|
// First step on startup - "resolve metadata":
|
|
// - understand total amount of data to download
|
|
// - ensure all pieces hashes available
|
|
// - validate files after crush
|
|
// - when all metadata ready - can start download/upload
|
|
int32 metadataReady = 1;
|
|
int32 filesTotal = 2;
|
|
|
|
int32 peersUnique = 4;
|
|
uint64 connectionsTotal = 5;
|
|
|
|
bool completed = 6;
|
|
float progress = 7;
|
|
|
|
uint64 bytesCompleted = 8;
|
|
uint64 bytesTotal = 9;
|
|
uint64 uploadRate = 10; // bytes/sec
|
|
uint64 downloadRate = 11; // bytes/sec
|
|
}
|