Add multi-repository support to protocol (ref #35)

This commit is contained in:
Jakob Borg
2014-02-13 12:41:25 +01:00
parent 9f63feef30
commit 21a7f3960a
10 changed files with 104 additions and 59 deletions

View File

@@ -84,6 +84,7 @@ an empty Index message must be sent. There is no response to the Index
message.
struct IndexMessage {
string Repository<>;
FileInfo Files<>;
}
@@ -100,6 +101,10 @@ message.
opaque Hash<>
}
The Repository field identifies the repository that the index message
pertains to. For single repository implementations an empty repository
ID is acceptable.
The file name is the part relative to the repository root. The
modification time is expressed as the number of seconds since the Unix
Epoch. The version field is a counter that increments each time the file
@@ -143,6 +148,7 @@ before transmitting data. Each Request message must be met with a Response
message.
struct RequestMessage {
string Repository<>;
string Name<>;
unsigned hyper Offset;
unsigned int Length;
@@ -248,4 +254,3 @@ their repository contents and transmits an updated Index message (10).
Both peers enter idle state after 10. At some later time 11, peer A
determines that it has not seen data from B for some time and sends a
Ping request. A response is sent at 12.