@@ -46,7 +46,13 @@ service System {
46
46
rpc Time (TimeRequest ) returns (TimeResponse ) {}
47
47
48
48
// SetPackage places a software package (possibly including bootable images)
49
- // on the target.
49
+ // on the target. The file is sent in sequential messages, each message
50
+ // up to 64KB of data. A final message must be sent that includes the hash
51
+ // of the data sent. An error is returned if the location does not exist or
52
+ // there is an error writing the data. If no checksum is received, the target
53
+ // must assume the operation is incomplete and remove the partially
54
+ // transmitted file. The target should initially write the file to a temporary location so a failure
55
+ // does not destroy the original file.
50
56
rpc SetPackage (stream SetPackageRequest ) returns (SetPackageResponse ) {}
51
57
52
58
// SwitchControlProcessor will switch from the current route processor to the
@@ -278,9 +284,9 @@ message Package {
278
284
279
285
// SetPackageRequest will place the package onto the target and optionally mark
280
286
// it as the next bootable image. The initial message must be a package
281
- // message containing the filename and information about the file.
282
- // The final message must be a hash message contains the hash of the file
283
- // contents.
287
+ // message containing the filename and information about the file. Folloing the
288
+ // initial message the contents are then streamed in maximum 64k chunks. The
289
+ // final message must be a hash message contains the hash of the file contents.
284
290
message SetPackageRequest {
285
291
oneof request {
286
292
Package package = 1 ;
0 commit comments