Don't send initial index twice, use more fetchers

This commit is contained in:
Jakob Borg 2013-12-28 08:45:18 -05:00
parent 74c27ad4e2
commit e75e68faa0
2 changed files with 11 additions and 13 deletions

View File

@ -42,8 +42,7 @@ var (
)
const (
RemoteFetchers = 4
FlagDeleted = 1 << 12
FlagDeleted = 1 << 12
idxBcastHoldtime = 15 * time.Second // Wait at least this long after the last index modification
idxBcastMaxDelay = 120 * time.Second // Unless we've already waited this long
@ -51,12 +50,13 @@ const (
func NewModel(dir string) *Model {
m := &Model{
dir: dir,
global: make(map[string]File),
local: make(map[string]File),
remote: make(map[string]map[string]File),
need: make(map[string]bool),
nodes: make(map[string]*protocol.Connection),
dir: dir,
global: make(map[string]File),
local: make(map[string]File),
remote: make(map[string]map[string]File),
need: make(map[string]bool),
nodes: make(map[string]*protocol.Connection),
lastIdxBcast: time.Now(),
}
go m.printStats()

View File

@ -11,10 +11,6 @@ held for as short a time as possible.
TODO(jb): Refactor this into smaller and cleaner pieces.
TODO(jb): Some kind of coalescing / rate limiting of index sending, so we don't
send hundreds of index updates in a short period if time when deleting files
etc.
*/
import (
@ -29,6 +25,8 @@ import (
"github.com/calmh/syncthing/buffers"
)
const RemoteFetchers = 8
func (m *Model) pullFile(name string) error {
m.RLock()
var localFile = m.local[name]
@ -61,7 +59,7 @@ func (m *Model) pullFile(name string) error {
local, remote := localFile.Blocks.To(globalFile.Blocks)
var fetchDone sync.WaitGroup
// One local copy routing
// One local copy routine
fetchDone.Add(1)
go func() {