summaryrefslogtreecommitdiffstats
path: root/protocol/message_types.go
blob: 7ef9a7ff36911e57aee1b551b4336150cc5ac101 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package protocol

type IndexMessage struct {
	Repository string     // max:64
	Files      []FileInfo // max:1000000
}

type FileInfo struct {
	Name     string // max:1024
	Flags    uint32
	Modified int64
	Version  uint64
	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
}

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
}

type Option struct {
	Key   string // max:64
	Value string // max:1024
}