2014-06-01 20:50:14 +00:00
|
|
|
// Copyright (C) 2014 Jakob Borg and other contributors. All rights reserved.
|
|
|
|
// Use of this source code is governed by an MIT-style license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
2014-02-20 16:40:15 +00:00
|
|
|
package protocol
|
|
|
|
|
|
|
|
type IndexMessage struct {
|
|
|
|
Repository string // max:64
|
2014-05-13 12:59:17 +00:00
|
|
|
Files []FileInfo // max:1000000
|
2014-02-20 16:40:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type FileInfo struct {
|
|
|
|
Name string // max:1024
|
|
|
|
Flags uint32
|
|
|
|
Modified int64
|
2014-03-28 13:36:57 +00:00
|
|
|
Version uint64
|
2014-02-20 16:40:15 +00:00
|
|
|
Blocks []BlockInfo // max:100000
|
|
|
|
}
|
|
|
|
|
|
|
|
type BlockInfo struct {
|
|
|
|
Size uint32
|
|
|
|
Hash []byte // max:64
|
|
|
|
}
|
|
|
|
|
|
|
|
type RequestMessage struct {
|
|
|
|
Repository string // max:64
|
|
|
|
Name string // max:1024
|
|
|
|
Offset uint64
|
|
|
|
Size uint32
|
|
|
|
}
|
|
|
|
|
2014-04-13 13:28:26 +00:00
|
|
|
type ClusterConfigMessage struct {
|
|
|
|
ClientName string // max:64
|
|
|
|
ClientVersion string // max:64
|
|
|
|
Repositories []Repository // max:64
|
|
|
|
Options []Option // max:64
|
|
|
|
}
|
|
|
|
|
|
|
|
type Repository struct {
|
|
|
|
ID string // max:64
|
|
|
|
Nodes []Node // max:64
|
|
|
|
}
|
|
|
|
|
|
|
|
type Node struct {
|
|
|
|
ID string // max:64
|
|
|
|
Flags uint32
|
2014-02-20 16:40:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type Option struct {
|
|
|
|
Key string // max:64
|
|
|
|
Value string // max:1024
|
|
|
|
}
|