mirror of
https://github.com/syncthing/syncthing.git
synced 2024-11-16 18:41:59 -07:00
53 lines
1.0 KiB
Go
53 lines
1.0 KiB
Go
// 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.
|
|
|
|
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
|
|
}
|